summarylogtreecommitdiffstats
path: root/windowlab-1.40.tar
blob: 73d5d492fb489a098e2dda329511ecbb568da8a4 (plain)
ofshex dumpascii
0000 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 4d 61 6b 65 66 69 6c 65 00 00 00 00 00 00 00 00 00 windowlab-1.40/Makefile.........
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
0080 30 30 30 34 32 32 35 00 31 31 32 37 34 36 33 36 37 35 35 00 30 31 33 35 34 31 00 20 30 00 00 00 0004225.11274636755.013541..0...
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 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
0120 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 23 20 4d 61 6b 65 66 69 6c 65 20 66 6f 72 20 57 69 6e 64 6f 77 4c 61 62 0a 0a 23 20 43 6f 6d 6d #.Makefile.for.WindowLab..#.Comm
0220 65 6e 74 20 6f 75 74 20 74 6f 20 72 65 6d 6f 76 65 20 73 68 61 70 65 20 73 75 70 70 6f 72 74 20 ent.out.to.remove.shape.support.
0240 28 66 6f 72 20 58 31 31 52 35 20 6f 72 20 6a 75 73 74 20 61 20 74 69 6e 79 20 62 69 6e 29 0a 44 (for.X11R5.or.just.a.tiny.bin).D
0260 45 46 49 4e 45 53 20 2b 3d 20 2d 44 53 48 41 50 45 0a 45 58 54 52 41 5f 4c 49 42 53 20 2b 3d 20 EFINES.+=.-DSHAPE.EXTRA_LIBS.+=.
0280 2d 6c 58 65 78 74 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 74 68 65 20 68 61 72 64 63 6f -lXext..#.Set.this.to.the.hardco
02a0 64 65 64 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 69 66 20 69 74 27 ded.location.of.all.files.if.it'
02c0 73 20 6e 6f 74 20 2f 0a 50 52 45 46 49 58 20 3d 20 2f 75 73 72 2f 6c 6f 63 61 6c 0a 0a 23 20 53 s.not./.PREFIX.=./usr/local..#.S
02e0 65 74 20 74 68 69 73 20 74 6f 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 2c 20 62 65 6c 6f 77 20 et.this.to.the.directory,.below.
0300 50 52 45 46 49 58 2c 20 77 68 65 72 65 20 6d 61 6e 20 70 61 67 65 73 20 0a 23 20 61 72 65 20 65 PREFIX,.where.man.pages..#.are.e
0320 78 70 65 63 74 65 64 2e 20 42 65 6c 6f 77 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 2c 20 74 xpected..Below.this.directory,.t
0340 68 65 20 74 61 72 67 65 74 20 22 69 6e 73 74 61 6c 6c 22 0a 23 20 77 69 6c 6c 20 70 75 74 20 22 he.target."install".#.will.put."
0360 77 69 6e 64 6f 77 6c 61 62 2e 31 78 22 20 69 6e 20 73 65 63 74 69 6f 6e 20 22 6d 61 6e 31 22 2e windowlab.1x".in.section."man1".
0380 0a 4d 41 4e 42 41 53 45 20 3d 20 2f 6d 61 6e 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 74 .MANBASE.=./man..#.Set.this.to.t
03a0 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 58 20 69 6e 73 74 61 6c 6c 61 74 69 6f he.location.of.the.X.installatio
03c0 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 6f 6d 70 69 6c 65 20 61 67 61 69 6e 73 74 0a 58 52 n.you.want.to.compile.against.XR
03e0 4f 4f 54 20 3d 20 2f 75 73 72 2f 58 31 31 52 36 0a 0a 23 20 53 6f 6d 65 20 66 6c 65 78 69 62 69 OOT.=./usr/X11R6..#.Some.flexibi
0400 6c 69 74 79 20 66 6f 72 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6c 6f 63 61 74 69 6f 6e 0a lity.for.configuration.location.
0420 43 4f 4e 46 50 52 45 46 49 58 20 3d 20 24 28 50 52 45 46 49 58 29 0a 43 4f 4e 46 44 49 52 20 3d CONFPREFIX.=.$(PREFIX).CONFDIR.=
0440 20 2f 65 74 63 2f 58 31 31 2f 77 69 6e 64 6f 77 6c 61 62 0a 0a 23 20 53 65 74 20 74 68 69 73 20 ./etc/X11/windowlab..#.Set.this.
0460 74 6f 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f to.the.location.of.the.global.co
0480 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 73 0a 53 59 53 43 4f 4e 46 44 49 52 20 3d 20 24 nfiguration.files.SYSCONFDIR.=.$
04a0 28 43 4f 4e 46 50 52 45 46 49 58 29 24 28 43 4f 4e 46 44 49 52 29 0a 0a 23 20 49 6e 66 6f 72 6d (CONFPREFIX)$(CONFDIR)..#.Inform
04c0 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 ation.about.the.location.of.the.
04e0 6d 65 6e 75 72 63 20 66 69 6c 65 0a 69 66 6e 64 65 66 20 4d 45 4e 55 52 43 0a 4d 45 4e 55 52 43 menurc.file.ifndef.MENURC.MENURC
0500 20 3d 20 24 28 53 59 53 43 4f 4e 46 44 49 52 29 2f 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 .=.$(SYSCONFDIR)/windowlab.menur
0520 63 0a 65 6e 64 69 66 0a 0a 44 45 46 49 4e 45 53 20 2b 3d 20 2d 44 44 45 46 5f 4d 45 4e 55 52 43 c.endif..DEFINES.+=.-DDEF_MENURC
0540 3d 22 5c 22 24 28 4d 45 4e 55 52 43 29 5c 22 22 0a 0a 23 20 55 6e 63 6f 6d 6d 65 6e 74 20 74 6f ="\"$(MENURC)\""..#.Uncomment.to
0560 20 61 64 64 20 4d 57 4d 20 68 69 6e 74 73 20 73 75 70 70 6f 72 74 0a 23 44 45 46 49 4e 45 53 20 .add.MWM.hints.support.#DEFINES.
0580 2b 3d 20 2d 44 4d 57 4d 5f 48 49 4e 54 53 0a 0a 23 20 55 6e 63 6f 6d 6d 65 6e 74 20 74 6f 20 61 +=.-DMWM_HINTS..#.Uncomment.to.a
05a0 64 64 20 66 72 65 65 74 79 70 65 20 73 75 70 70 6f 72 74 20 28 72 65 71 75 69 72 65 73 20 58 46 dd.freetype.support.(requires.XF
05c0 72 65 65 38 36 20 34 2e 30 2e 32 20 6f 72 20 6c 61 74 65 72 29 0a 23 20 54 68 69 73 20 6e 65 65 ree86.4.0.2.or.later).#.This.nee
05e0 64 73 20 2d 6c 58 65 78 74 20 61 62 6f 76 65 2c 20 65 76 65 6e 20 69 66 20 79 6f 75 20 68 61 76 ds.-lXext.above,.even.if.you.hav
0600 65 20 64 69 73 61 62 6c 65 64 20 73 68 61 70 65 20 73 75 70 70 6f 72 74 0a 23 44 45 46 49 4e 45 e.disabled.shape.support.#DEFINE
0620 53 20 2b 3d 20 2d 44 58 46 54 0a 23 45 58 54 52 41 5f 49 4e 43 20 2b 3d 20 60 70 6b 67 2d 63 6f S.+=.-DXFT.#EXTRA_INC.+=.`pkg-co
0640 6e 66 69 67 20 2d 2d 63 66 6c 61 67 73 20 78 66 74 60 0a 23 45 58 54 52 41 5f 4c 49 42 53 20 2b nfig.--cflags.xft`.#EXTRA_LIBS.+
0660 3d 20 60 70 6b 67 2d 63 6f 6e 66 69 67 20 2d 2d 6c 69 62 73 20 78 66 74 60 0a 0a 23 20 55 6e 63 =.`pkg-config.--libs.xft`..#.Unc
0680 6f 6d 6d 65 6e 74 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 20 69 6e 66 6f 20 28 61 62 61 6e 64 omment.for.debugging.info.(aband
06a0 6f 6e 20 61 6c 6c 20 68 6f 70 65 2c 20 79 65 20 77 68 6f 20 65 6e 74 65 72 20 68 65 72 65 29 0a on.all.hope,.ye.who.enter.here).
06c0 23 44 45 46 49 4e 45 53 20 2b 3d 20 2d 44 44 45 42 55 47 0a 0a 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d #DEFINES.+=.-DDEBUG..#.---------
06e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
0700 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 43 43 20 ---------------------------..CC.
0720 3d 20 67 63 63 0a 69 66 6e 64 65 66 20 43 46 4c 41 47 53 0a 43 46 4c 41 47 53 20 3d 20 2d 67 20 =.gcc.ifndef.CFLAGS.CFLAGS.=.-g.
0740 2d 4f 32 20 2d 57 61 6c 6c 20 2d 57 0a 65 6e 64 69 66 0a 0a 42 49 4e 44 49 52 20 3d 20 24 28 44 -O2.-Wall.-W.endif..BINDIR.=.$(D
0760 45 53 54 44 49 52 29 24 28 50 52 45 46 49 58 29 2f 62 69 6e 0a 4d 41 4e 44 49 52 20 3d 20 24 28 ESTDIR)$(PREFIX)/bin.MANDIR.=.$(
0780 44 45 53 54 44 49 52 29 24 28 50 52 45 46 49 58 29 24 28 4d 41 4e 42 41 53 45 29 2f 6d 61 6e 31 DESTDIR)$(PREFIX)$(MANBASE)/man1
07a0 0a 43 46 47 44 49 52 20 3d 20 24 28 44 45 53 54 44 49 52 29 24 28 53 59 53 43 4f 4e 46 44 49 52 .CFGDIR.=.$(DESTDIR)$(SYSCONFDIR
07c0 29 0a 49 4e 43 4c 55 44 45 53 20 3d 20 2d 49 24 28 58 52 4f 4f 54 29 2f 69 6e 63 6c 75 64 65 20 ).INCLUDES.=.-I$(XROOT)/include.
07e0 24 28 45 58 54 52 41 5f 49 4e 43 29 0a 4c 44 50 41 54 48 20 3d 20 2d 4c 24 28 58 52 4f 4f 54 29 $(EXTRA_INC).LDPATH.=.-L$(XROOT)
0800 2f 6c 69 62 0a 4c 49 42 53 20 3d 20 2d 6c 58 31 31 20 24 28 45 58 54 52 41 5f 4c 49 42 53 29 0a /lib.LIBS.=.-lX11.$(EXTRA_LIBS).
0820 0a 50 52 4f 47 20 3d 20 77 69 6e 64 6f 77 6c 61 62 0a 4d 41 4e 50 41 47 45 20 3d 20 77 69 6e 64 .PROG.=.windowlab.MANPAGE.=.wind
0840 6f 77 6c 61 62 2e 31 78 0a 4f 42 4a 53 20 3d 20 6d 61 69 6e 2e 6f 20 65 76 65 6e 74 73 2e 6f 20 owlab.1x.OBJS.=.main.o.events.o.
0860 63 6c 69 65 6e 74 2e 6f 20 6e 65 77 2e 6f 20 6d 61 6e 61 67 65 2e 6f 20 6d 69 73 63 2e 6f 20 74 client.o.new.o.manage.o.misc.o.t
0880 61 73 6b 62 61 72 2e 6f 20 6d 65 6e 75 66 69 6c 65 2e 6f 0a 48 45 41 44 45 52 53 20 3d 20 77 69 askbar.o.menufile.o.HEADERS.=.wi
08a0 6e 64 6f 77 6c 61 62 2e 68 0a 0a 61 6c 6c 3a 20 24 28 50 52 4f 47 29 0a 0a 24 28 50 52 4f 47 29 ndowlab.h..all:.$(PROG)..$(PROG)
08c0 3a 20 24 28 4f 42 4a 53 29 0a 09 24 28 43 43 29 20 24 28 4f 42 4a 53 29 20 24 28 4c 44 50 41 54 :.$(OBJS)..$(CC).$(OBJS).$(LDPAT
08e0 48 29 20 24 28 4c 49 42 53 29 20 2d 6f 20 24 40 0a 0a 24 28 4f 42 4a 53 29 3a 20 25 2e 6f 3a 20 H).$(LIBS).-o.$@..$(OBJS):.%.o:.
0900 25 2e 63 20 24 28 48 45 41 44 45 52 53 29 0a 09 24 28 43 43 29 20 24 28 43 46 4c 41 47 53 29 20 %.c.$(HEADERS)..$(CC).$(CFLAGS).
0920 24 28 44 45 46 49 4e 45 53 29 20 24 28 49 4e 43 4c 55 44 45 53 29 20 2d 63 20 24 3c 20 2d 6f 20 $(DEFINES).$(INCLUDES).-c.$<.-o.
0940 24 40 0a 0a 69 6e 73 74 61 6c 6c 3a 20 61 6c 6c 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28 42 49 4e $@..install:.all..mkdir.-p.$(BIN
0960 44 49 52 29 20 26 26 20 69 6e 73 74 61 6c 6c 20 2d 6d 20 37 35 35 20 2d 73 20 24 28 50 52 4f 47 DIR).&&.install.-m.755.-s.$(PROG
0980 29 20 24 28 42 49 4e 44 49 52 29 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28 4d 41 4e 44 49 52 29 20 ).$(BINDIR)..mkdir.-p.$(MANDIR).
09a0 26 26 20 69 6e 73 74 61 6c 6c 20 2d 6d 20 36 34 34 20 24 28 4d 41 4e 50 41 47 45 29 20 24 28 4d &&.install.-m.644.$(MANPAGE).$(M
09c0 41 4e 44 49 52 29 20 26 26 20 67 7a 69 70 20 2d 39 76 66 6e 20 24 28 4d 41 4e 44 49 52 29 2f 24 ANDIR).&&.gzip.-9vfn.$(MANDIR)/$
09e0 28 4d 41 4e 50 41 47 45 29 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28 43 46 47 44 49 52 29 20 26 26 (MANPAGE)..mkdir.-p.$(CFGDIR).&&
0a00 20 63 70 20 2d 69 20 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 63 20 24 28 43 46 47 44 49 52 .cp.-i.windowlab.menurc.$(CFGDIR
0a20 29 2f 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 63 20 26 26 20 63 68 6d 6f 64 20 36 34 34 20 )/windowlab.menurc.&&.chmod.644.
0a40 24 28 43 46 47 44 49 52 29 2f 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 63 0a 0a 63 6c 65 61 $(CFGDIR)/windowlab.menurc..clea
0a60 6e 3a 0a 09 72 6d 20 2d 66 20 24 28 50 52 4f 47 29 20 24 28 4f 42 4a 53 29 0a 0a 2e 50 48 4f 4e n:..rm.-f.$(PROG).$(OBJS)...PHON
0a80 59 3a 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 20 63 6c 65 61 6e 0a 00 00 00 00 00 00 00 00 00 00 00 Y:.all.install.clean............
0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 63 00 windowlab-1.40/windowlab.menurc.
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
0c80 30 30 30 30 34 36 37 00 31 31 32 36 31 32 30 31 36 33 32 00 30 31 35 32 36 30 00 20 30 00 00 00 0000467.11261201632.015260..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
0d20 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 23 20 6d 61 6b 65 20 73 75 72 65 20 65 61 63 68 20 6c 69 6e 65 20 65 6e 64 73 20 69 6e 20 4c 46 #.make.sure.each.line.ends.in.LF
0e20 20 6e 6f 74 20 43 52 4c 46 21 0a 78 74 65 72 6d 3a 78 74 65 72 6d 0a 67 65 64 69 74 3a 67 65 64 .not.CRLF!.xterm:xterm.gedit:ged
0e40 69 74 0a 4e 61 75 74 69 6c 75 73 3a 6e 61 75 74 69 6c 75 73 0a 46 69 72 65 66 6f 78 3a 66 69 72 it.Nautilus:nautilus.Firefox:fir
0e60 65 66 6f 78 0a 50 69 64 67 69 6e 3a 70 69 64 67 69 6e 0a 58 43 68 61 74 3a 78 63 68 61 74 0a 52 efox.Pidgin:pidgin.XChat:xchat.R
0e80 68 79 74 68 6d 62 6f 78 3a 72 68 79 74 68 6d 62 6f 78 0a 54 6f 74 65 6d 3a 74 6f 74 65 6d 0a 47 hythmbox:rhythmbox.Totem:totem.G
0ea0 49 4d 50 3a 67 69 6d 70 0a 45 64 69 74 20 6d 65 6e 75 3a 67 76 69 6d 20 2f 65 74 63 2f 58 31 31 IMP:gimp.Edit.menu:gvim./etc/X11
0ec0 2f 77 69 6e 64 6f 77 6c 61 62 2f 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 63 0a 41 62 6f 75 /windowlab/windowlab.menurc.Abou
0ee0 74 3a 77 69 6e 64 6f 77 6c 61 62 20 2d 61 62 6f 75 74 20 7c 20 78 6d 65 73 73 61 67 65 20 2d 66 t:windowlab.-about.|.xmessage.-f
0f00 69 6c 65 20 2d 0a 52 65 6c 6f 61 64 3a 70 6b 69 6c 6c 20 2d 48 55 50 20 77 69 6e 64 6f 77 6c 61 ile.-.Reload:pkill.-HUP.windowla
0f20 62 0a 51 75 69 74 3a 73 6b 69 6c 6c 20 77 69 6e 64 6f 77 6c 61 62 0a 00 00 00 00 00 00 00 00 00 b.Quit:skill.windowlab..........
0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 52 45 41 44 4d 45 00 00 00 00 00 00 00 00 00 00 00 windowlab-1.40/README...........
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1080 30 30 32 37 31 32 32 00 31 31 32 36 31 31 37 35 32 36 36 00 30 31 32 37 35 31 00 20 30 00 00 00 0027122.11261175266.012751..0...
10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1100 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
1120 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1200 57 49 4e 44 4f 57 4c 41 42 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 30 WINDOWLAB.Copyright.(c).2001-200
1220 39 20 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 0a 0a 0a 57 48 41 54 20 49 53 20 57 49 4e 44 9.Nick.Gravgaard....WHAT.IS.WIND
1240 4f 57 4c 41 42 3f 0a 0a 57 69 6e 64 6f 77 4c 61 62 20 69 73 20 61 20 73 6d 61 6c 6c 20 61 6e 64 OWLAB?..WindowLab.is.a.small.and
1260 20 73 69 6d 70 6c 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 20 6f 66 20 6e 6f 76 65 6c 20 .simple.window.manager.of.novel.
1280 64 65 73 69 67 6e 2e 0a 0a 49 74 20 68 61 73 20 61 20 63 6c 69 63 6b 2d 74 6f 2d 66 6f 63 75 73 design...It.has.a.click-to-focus
12a0 20 62 75 74 20 6e 6f 74 20 72 61 69 73 65 2d 6f 6e 2d 66 6f 63 75 73 20 70 6f 6c 69 63 79 2c 20 .but.not.raise-on-focus.policy,.
12c0 61 20 77 69 6e 64 6f 77 20 72 65 73 69 7a 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 20 74 68 61 74 a.window.resizing.mechanism.that
12e0 20 61 6c 6c 6f 77 73 20 6f 6e 65 20 6f 72 20 6d 61 6e 79 20 65 64 67 65 73 20 6f 66 20 61 20 77 .allows.one.or.many.edges.of.a.w
1300 69 6e 64 6f 77 20 74 6f 20 62 65 20 63 68 61 6e 67 65 64 20 69 6e 20 6f 6e 65 20 61 63 74 69 6f indow.to.be.changed.in.one.actio
1320 6e 2c 20 61 6e 64 20 61 6e 20 69 6e 6e 6f 76 61 74 69 76 65 20 6d 65 6e 75 62 61 72 20 74 68 61 n,.and.an.innovative.menubar.tha
1340 74 20 73 68 61 72 65 73 20 74 68 65 20 73 61 6d 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 63 t.shares.the.same.part.of.the.sc
1360 72 65 65 6e 20 61 73 20 74 68 65 20 74 61 73 6b 62 61 72 2e 20 57 69 6e 64 6f 77 20 74 69 74 6c reen.as.the.taskbar..Window.titl
1380 65 62 61 72 73 20 61 72 65 20 70 72 65 76 65 6e 74 65 64 20 66 72 6f 6d 20 67 6f 69 6e 67 20 6f ebars.are.prevented.from.going.o
13a0 66 66 20 74 68 65 20 65 64 67 65 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 20 62 79 20 63 6f 6e ff.the.edge.of.the.screen.by.con
13c0 73 74 72 61 69 6e 69 6e 67 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 2c 20 61 6e 64 straining.the.mouse.pointer,.and
13e0 20 77 68 65 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 .when.appropriate.the.pointer.is
1400 20 61 6c 73 6f 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 74 6f 20 74 68 65 20 74 61 73 6b 62 61 72 .also.constrained.to.the.taskbar
1420 2f 6d 65 6e 75 62 61 72 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 6b 65 20 74 61 72 67 65 74 /menubar.in.order.to.make.target
1440 20 6d 65 6e 75 20 69 74 65 6d 73 20 65 61 73 69 65 72 20 74 6f 20 68 69 74 2e 0a 0a 0a 0a 57 48 .menu.items.easier.to.hit.....WH
1460 59 20 55 53 45 20 57 49 4e 44 4f 57 4c 41 42 3f 0a 0a 09 2a 20 49 74 20 61 6c 6c 6f 77 73 20 74 Y.USE.WINDOWLAB?...*.It.allows.t
1480 68 65 20 66 6f 63 75 73 65 64 20 77 69 6e 64 6f 77 20 74 6f 20 62 65 20 62 65 6c 6f 77 20 6f 74 he.focused.window.to.be.below.ot
14a0 68 65 72 20 77 69 6e 64 6f 77 73 20 74 68 61 74 20 79 6f 75 20 73 74 69 6c 6c 20 6e 65 65 64 20 her.windows.that.you.still.need.
14c0 74 6f 20 6c 6f 6f 6b 20 61 74 20 28 63 6c 69 63 6b 2d 74 6f 2d 66 6f 63 75 73 20 62 75 74 20 6e to.look.at.(click-to-focus.but.n
14e0 6f 74 20 72 61 69 73 65 2d 6f 6e 2d 66 6f 63 75 73 29 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 ot.raise-on-focus).without.using
1500 20 61 20 63 6f 6e 76 6f 6c 75 74 65 64 20 57 69 6e 64 6f 77 73 20 73 74 79 6c 65 20 61 6c 77 61 .a.convoluted.Windows.style.alwa
1520 79 73 2d 6f 6e 2d 74 6f 70 20 6d 6f 64 65 0a 09 2a 20 4f 6e 65 20 6f 72 20 6d 61 6e 79 20 65 64 ys-on-top.mode..*.One.or.many.ed
1540 67 65 73 20 6f 66 20 61 20 77 69 6e 64 6f 77 20 63 61 6e 20 62 65 20 63 68 61 6e 67 65 64 20 69 ges.of.a.window.can.be.changed.i
1560 6e 20 6f 6e 65 20 61 63 74 69 6f 6e 20 77 69 74 68 6f 75 74 20 68 61 76 69 6e 67 20 74 6f 20 63 n.one.action.without.having.to.c
1580 6c 69 63 6b 20 6f 6e 20 74 68 69 6e 20 77 69 6e 64 6f 77 20 62 6f 72 64 65 72 73 2e 20 41 73 20 lick.on.thin.window.borders..As.
15a0 77 69 74 68 20 6d 75 63 68 20 69 6e 20 57 69 6e 64 6f 77 4c 61 62 20 74 68 69 73 20 61 6c 6c 6f with.much.in.WindowLab.this.allo
15c0 77 73 20 66 61 73 74 65 72 20 75 73 65 20 77 69 74 68 20 6c 65 73 73 20 61 63 63 75 72 61 63 79 ws.faster.use.with.less.accuracy
15e0 0a 09 2a 20 49 74 27 73 20 76 65 72 79 20 71 75 69 63 6b 20 61 6e 64 20 65 61 73 79 20 74 6f 20 ..*.It's.very.quick.and.easy.to.
1600 6c 61 75 6e 63 68 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 6d launch.an.application.from.the.m
1620 65 6e 75 20 2d 20 69 74 27 73 20 65 61 73 69 65 72 20 74 6f 20 73 6c 61 6d 20 74 68 65 20 70 6f enu.-.it's.easier.to.slam.the.po
1640 69 6e 74 65 72 20 74 6f 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 20 61 inter.to.the.top.of.the.screen.a
1660 6e 64 20 74 68 65 6e 20 6d 61 6b 65 20 73 6d 61 6c 6c 20 61 64 6a 75 73 74 6d 65 6e 74 73 20 74 nd.then.make.small.adjustments.t
1680 6f 20 68 69 74 20 74 68 65 20 74 61 72 67 65 74 20 74 68 65 6e 20 69 74 20 69 73 20 74 6f 20 75 o.hit.the.target.then.it.is.to.u
16a0 73 65 20 61 20 57 69 6e 64 6f 77 73 20 73 74 79 6c 65 20 68 69 65 72 61 72 63 68 69 63 61 6c 20 se.a.Windows.style.hierarchical.
16c0 22 73 74 61 72 74 22 20 6d 65 6e 75 20 6f 72 20 61 20 42 6c 61 63 6b 62 6f 78 20 73 74 79 6c 65 "start".menu.or.a.Blackbox.style
16e0 20 70 6f 70 75 70 20 6d 65 6e 75 2c 20 61 6e 64 20 62 79 20 63 6f 6e 73 74 72 61 69 6e 69 6e 67 .popup.menu,.and.by.constraining
1700 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6d 65 6e 75 20 62 61 72 20 79 6f 75 .the.pointer.to.the.menu.bar.you
1720 20 63 61 6e 20 62 65 20 6c 65 73 73 20 61 63 63 75 72 61 74 65 20 28 61 6e 64 20 74 68 75 73 20 .can.be.less.accurate.(and.thus.
1740 66 61 73 74 65 72 29 20 62 65 63 61 75 73 65 20 6f 6e 63 65 20 74 68 65 20 70 6f 69 6e 74 65 72 faster).because.once.the.pointer
1760 20 69 73 20 69 6e 20 74 68 65 20 6d 65 6e 75 20 62 61 72 20 79 6f 75 20 64 6f 6e 27 74 20 68 61 .is.in.the.menu.bar.you.don't.ha
1780 76 65 20 74 6f 20 77 6f 72 72 79 20 61 62 6f 75 74 20 76 65 72 74 69 63 61 6c 20 6d 6f 76 65 6d ve.to.worry.about.vertical.movem
17a0 65 6e 74 73 0a 09 2a 20 59 6f 75 20 63 61 6e 20 71 75 69 63 6b 6c 79 20 61 63 63 65 73 73 20 61 ents..*.You.can.quickly.access.a
17c0 20 77 69 6e 64 6f 77 20 61 6e 64 20 62 72 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20 66 72 6f 6e .window.and.bring.it.to.the.fron
17e0 74 20 62 79 20 63 6c 69 63 6b 69 6e 67 20 6f 6e 20 69 74 20 69 6e 20 74 68 65 20 74 61 73 6b 62 t.by.clicking.on.it.in.the.taskb
1800 61 72 20 2d 20 74 68 69 73 20 73 6f 6c 76 65 73 20 74 68 65 20 6f 6e 6c 79 20 70 72 6f 62 6c 65 ar.-.this.solves.the.only.proble
1820 6d 20 77 69 74 68 20 74 68 65 20 63 6c 69 63 6b 2d 74 6f 2d 66 6f 63 75 73 20 62 75 74 20 6e 6f m.with.the.click-to-focus.but.no
1840 74 20 72 61 69 73 65 2d 6f 6e 2d 66 6f 63 75 73 20 6d 6f 64 65 6c 20 2d 20 68 61 76 69 6e 67 20 t.raise-on-focus.model.-.having.
1860 74 6f 20 73 6c 69 64 65 20 70 61 72 74 69 61 6c 6c 79 20 6f 62 73 63 75 72 65 64 20 77 69 6e 64 to.slide.partially.obscured.wind
1880 6f 77 73 20 61 72 6f 75 6e 64 20 74 6f 20 67 65 74 20 74 6f 20 74 68 65 69 72 20 74 6f 67 67 6c ows.around.to.get.to.their.toggl
18a0 65 2d 64 65 70 74 68 20 62 75 74 74 6f 6e 73 0a 09 2a 20 57 68 65 6e 20 79 6f 75 20 68 61 76 65 e-depth.buttons..*.When.you.have
18c0 20 6d 61 6e 79 20 77 69 6e 64 6f 77 73 20 6f 70 65 6e 20 61 6e 64 20 6c 6f 73 65 20 74 72 61 63 .many.windows.open.and.lose.trac
18e0 6b 20 6f 66 20 77 68 69 63 68 20 77 69 6e 64 6f 77 20 79 6f 75 20 77 61 6e 74 20 6e 65 78 74 20 k.of.which.window.you.want.next.
1900 79 6f 75 20 63 61 6e 20 63 6c 69 63 6b 20 6f 6e 20 61 20 74 61 73 6b 62 61 72 20 69 74 65 6d 2c you.can.click.on.a.taskbar.item,
1920 20 61 6e 64 20 69 66 20 69 74 27 73 20 6e 6f 74 20 74 68 65 20 72 69 67 68 74 20 6f 6e 65 2c 20 .and.if.it's.not.the.right.one,.
1940 73 6c 69 64 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 6f 76 65 72 20 74 68 65 20 6f 74 68 65 72 slide.the.pointer.over.the.other
1960 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 74 61 73 6b 62 61 72 20 28 77 69 74 68 20 74 68 65 20 .items.in.the.taskbar.(with.the.
1980 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 73 74 69 6c 6c 20 64 65 70 72 65 73 73 65 64 29 20 74 6f mouse.button.still.depressed).to
19a0 20 73 65 65 20 74 68 65 20 6f 74 68 65 72 20 77 69 6e 64 6f 77 73 2e 20 41 73 20 77 69 74 68 20 .see.the.other.windows..As.with.
19c0 74 68 65 20 6d 65 6e 75 62 61 72 2c 20 74 68 65 20 70 6f 69 6e 74 65 72 27 73 20 63 6f 6e 73 74 the.menubar,.the.pointer's.const
19e0 72 61 69 6e 65 64 20 74 6f 20 74 68 65 20 74 61 73 6b 62 61 72 20 73 6f 20 74 68 61 74 20 79 6f rained.to.the.taskbar.so.that.yo
1a00 75 20 63 61 6e 20 6d 61 6b 65 20 66 61 73 74 65 72 20 61 6e 64 20 6c 65 73 73 20 63 61 72 65 66 u.can.make.faster.and.less.caref
1a20 75 6c 20 6d 6f 75 73 65 20 6d 6f 76 65 6d 65 6e 74 73 2e 20 57 69 74 68 20 6d 61 6e 79 20 77 69 ul.mouse.movements..With.many.wi
1a40 6e 64 6f 77 73 20 6f 70 65 6e 20 74 68 69 73 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 43 ndows.open.this.is.faster.than.C
1a60 6f 6f 6c 53 77 69 74 63 68 20 28 61 6c 74 2d 74 61 62 62 69 6e 67 29 20 69 6e 20 57 69 6e 64 6f oolSwitch.(alt-tabbing).in.Windo
1a80 77 73 20 28 61 6c 74 68 6f 75 67 68 20 57 69 6e 64 6f 77 4c 61 62 20 64 6f 65 73 20 68 61 76 65 ws.(although.WindowLab.does.have
1aa0 20 61 20 73 69 6d 69 6c 61 72 20 6b 65 79 62 6f 61 72 64 20 73 68 6f 72 74 63 75 74 20 69 6e 20 .a.similar.keyboard.shortcut.in.
1ac0 61 6c 74 2d 74 61 62 2f 61 6c 74 2d 71 29 20 61 6e 64 20 73 6f 6d 65 20 4d 61 63 20 4f 53 20 58 alt-tab/alt-q).and.some.Mac.OS.X
1ae0 20 75 73 65 72 73 20 68 61 76 65 20 74 6f 6c 64 20 6d 65 20 74 68 61 74 20 69 74 20 62 65 61 74 .users.have.told.me.that.it.beat
1b00 73 20 45 78 70 6f 73 e9 20 74 6f 6f 0a 09 2a 20 43 6f 6e 73 74 72 61 69 6e 69 6e 67 20 77 69 6e s.Expos..too..*.Constraining.win
1b20 64 6f 77 73 20 74 69 74 6c 65 62 61 72 73 20 74 6f 20 74 68 65 20 73 63 72 65 65 6e 20 6d 61 6b dows.titlebars.to.the.screen.mak
1b40 65 73 20 69 74 20 66 65 65 6c 20 73 6e 61 70 70 69 65 72 20 61 6e 64 20 6d 6f 72 65 20 72 65 73 es.it.feel.snappier.and.more.res
1b60 70 6f 6e 73 69 76 65 20 2d 20 74 72 79 20 66 6c 69 6e 67 69 6e 67 20 61 20 77 69 6e 64 6f 77 20 ponsive.-.try.flinging.a.window.
1b80 61 72 6f 75 6e 64 20 74 68 65 20 73 63 72 65 65 6e 2e 20 54 68 69 73 20 61 6c 73 6f 20 6d 65 61 around.the.screen..This.also.mea
1ba0 6e 73 20 74 68 61 74 20 79 6f 75 27 6c 6c 20 6e 65 76 65 72 20 68 61 76 65 20 6f 6e 6c 79 20 61 ns.that.you'll.never.have.only.a
1bc0 20 74 69 6e 79 20 70 61 72 74 20 6f 66 20 61 20 77 69 6e 64 6f 77 20 72 65 6d 61 69 6e 69 6e 67 .tiny.part.of.a.window.remaining
1be0 20 6f 6e 20 73 63 72 65 65 6e 0a 0a 0a 0a 57 48 45 52 45 20 43 41 4e 20 49 20 47 45 54 20 57 49 .on.screen....WHERE.CAN.I.GET.WI
1c00 4e 44 4f 57 4c 41 42 3f 0a 0a 54 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 NDOWLAB?..The.latest.version.of.
1c20 57 69 6e 64 6f 77 4c 61 62 20 69 73 20 68 65 6c 64 20 61 74 20 68 74 74 70 3a 2f 2f 6e 69 63 6b WindowLab.is.held.at.http://nick
1c40 67 72 61 76 67 61 61 72 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 0a 0a 0a 41 55 54 48 gravgaard.com/windowlab/....AUTH
1c60 4f 52 0a 0a 57 69 6e 64 6f 77 4c 61 62 20 77 61 73 20 77 72 69 74 74 65 6e 20 62 79 20 4e 69 63 OR..WindowLab.was.written.by.Nic
1c80 6b 20 47 72 61 76 67 61 61 72 64 20 28 6d 65 40 6e 69 63 6b 67 72 61 76 67 61 61 72 64 2e 63 6f k.Gravgaard.(me@nickgravgaard.co
1ca0 6d 29 0a 0a 0a 0a 4c 49 43 45 4e 43 45 0a 0a 57 69 6e 64 6f 77 4c 61 62 20 69 73 20 46 72 65 65 m)....LICENCE..WindowLab.is.Free
1cc0 20 53 6f 66 74 77 61 72 65 20 61 6e 64 20 68 61 73 20 62 65 65 6e 20 72 65 6c 65 61 73 65 64 20 .Software.and.has.been.released.
1ce0 75 6e 64 65 72 20 74 68 65 20 47 50 4c 2e 20 50 6c 65 61 73 65 20 73 65 65 20 74 68 65 20 4c 49 under.the.GPL..Please.see.the.LI
1d00 43 45 4e 43 45 20 66 69 6c 65 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e CENCE.file.for.more.information.
1d20 20 54 68 65 20 6c 69 63 65 6e 63 65 20 66 6f 72 20 61 65 77 6d 20 28 77 68 69 63 68 20 69 6e 63 .The.licence.for.aewm.(which.inc
1d40 6c 75 64 65 73 20 74 68 61 74 20 6f 66 20 39 77 6d 29 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 ludes.that.of.9wm).from.which.th
1d60 69 73 20 63 6f 64 65 20 68 61 73 20 62 65 65 6e 20 64 65 72 69 76 65 64 20 69 73 20 69 6e 63 6c is.code.has.been.derived.is.incl
1d80 75 64 65 64 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 69 73 20 52 45 41 44 4d 45 20 64 uded.at.the.end.of.this.README.d
1da0 6f 63 75 6d 65 6e 74 2e 0a 0a 0a 0a 48 4f 57 20 44 4f 20 49 20 49 4e 53 54 41 4c 4c 20 57 49 4e ocument.....HOW.DO.I.INSTALL.WIN
1dc0 44 4f 57 4c 41 42 3f 0a 0a 42 65 66 6f 72 65 20 63 6f 6d 70 69 6c 69 6e 67 2c 20 63 68 65 63 6b DOWLAB?..Before.compiling,.check
1de0 20 74 68 65 20 64 65 66 61 75 6c 74 20 28 44 45 46 5f 66 6f 6f 29 20 6f 70 74 69 6f 6e 73 20 69 .the.default.(DEF_foo).options.i
1e00 6e 20 77 69 6e 64 6f 77 6c 61 62 2e 68 2c 20 61 6e 64 20 74 68 65 20 64 65 66 69 6e 65 73 20 69 n.windowlab.h,.and.the.defines.i
1e20 6e 20 74 68 65 20 4d 61 6b 65 66 69 6c 65 2e 20 44 45 46 5f 46 4f 4e 54 20 69 73 20 6f 66 20 70 n.the.Makefile..DEF_FONT.is.of.p
1e40 61 72 74 69 63 75 6c 61 72 20 69 6e 74 65 72 65 73 74 3b 20 6d 61 6b 65 20 73 75 72 65 20 74 68 articular.interest;.make.sure.th
1e60 61 74 20 69 74 20 69 73 20 64 65 66 69 6e 65 64 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 at.it.is.defined.to.something.th
1e80 61 74 20 65 78 69 73 74 73 20 6f 6e 20 79 6f 75 72 20 73 79 73 74 65 6d 2e 20 59 6f 75 20 63 61 at.exists.on.your.system..You.ca
1ea0 6e 20 74 75 72 6e 20 2d 44 53 48 41 50 45 20 6f 66 66 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 n.turn.-DSHAPE.off.if.you.don't.
1ec0 68 61 76 65 20 74 68 65 20 53 68 61 70 65 20 65 78 74 65 6e 73 69 6f 6e 2c 20 61 6e 64 20 2d 44 have.the.Shape.extension,.and.-D
1ee0 4d 57 4d 5f 48 49 4e 54 53 20 6f 6e 20 69 66 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 4c 65 73 MWM_HINTS.on.if.you.have.the.Les
1f00 73 74 69 66 20 6f 72 20 4d 6f 74 69 66 20 68 65 61 64 65 72 73 20 69 6e 73 74 61 6c 6c 65 64 2e stif.or.Motif.headers.installed.
1f20 0a 0a 22 6d 61 6b 65 22 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20 65 76 65 72 79 74 68 69 6e 67 .."make".will.compile.everything
1f40 2c 20 61 6e 64 20 22 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 22 20 77 69 6c 6c 20 69 6e 73 74 61 6c ,.and."make.install".will.instal
1f60 6c 20 69 74 2e 0a 0a 54 6f 20 6d 61 6b 65 20 57 69 6e 64 6f 77 4c 61 62 20 79 6f 75 72 20 64 65 l.it...To.make.WindowLab.your.de
1f80 66 61 75 6c 74 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 2c 20 65 64 69 74 20 7e 2f 2e 78 69 fault.window.manager,.edit.~/.xi
1fa0 6e 69 74 72 63 20 28 69 66 20 79 6f 75 20 73 74 61 72 74 20 58 20 66 72 6f 6d 20 74 68 65 20 63 nitrc.(if.you.start.X.from.the.c
1fc0 6f 6e 73 6f 6c 65 20 62 79 20 74 79 70 69 6e 67 20 22 73 74 61 72 74 78 22 29 20 6f 72 20 7e 2f onsole.by.typing."startx").or.~/
1fe0 2e 78 73 65 73 73 69 6f 6e 20 28 69 66 20 79 6f 75 20 73 74 61 72 74 20 77 69 74 68 20 61 20 67 .xsession.(if.you.start.with.a.g
2000 72 61 70 68 69 63 61 6c 20 6c 6f 67 69 6e 20 6d 61 6e 61 67 65 72 29 20 61 6e 64 20 63 68 61 6e raphical.login.manager).and.chan
2020 67 65 20 74 68 65 20 6c 61 73 74 20 6c 69 6e 65 20 74 6f 20 22 65 78 65 63 20 77 69 6e 64 6f 77 ge.the.last.line.to."exec.window
2040 6c 61 62 22 2e 0a 0a 49 66 20 79 6f 75 20 75 73 65 20 46 72 65 65 42 53 44 2c 20 79 6f 75 20 63 lab"...If.you.use.FreeBSD,.you.c
2060 61 6e 20 67 65 74 20 57 69 6e 64 6f 77 4c 61 62 20 66 72 6f 6d 20 2f 75 73 72 2f 70 6f 72 74 73 an.get.WindowLab.from./usr/ports
2080 2f 78 31 31 2d 77 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 0a 0a 0a 48 4f 57 20 44 4f 20 49 20 55 /x11-wm/windowlab/....HOW.DO.I.U
20a0 53 45 20 57 49 4e 44 4f 57 4c 41 42 3f 0a 0a 57 69 6e 64 6f 77 4c 61 62 20 70 6c 61 63 65 73 20 SE.WINDOWLAB?..WindowLab.places.
20c0 61 20 74 61 73 6b 62 61 72 20 61 74 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 73 63 72 65 a.taskbar.at.the.top.of.the.scre
20e0 65 6e 20 61 6e 64 20 61 64 64 73 20 61 20 74 69 74 6c 65 62 61 72 20 74 6f 20 74 68 65 20 74 6f en.and.adds.a.titlebar.to.the.to
2100 70 20 6f 66 20 65 61 63 68 20 77 69 6e 64 6f 77 2e 20 54 68 65 73 65 20 74 69 74 6c 65 62 61 72 p.of.each.window..These.titlebar
2120 73 20 63 6f 6e 73 69 73 74 20 6f 66 20 61 20 64 72 61 67 67 61 62 6c 65 20 61 72 65 61 2c 20 61 s.consist.of.a.draggable.area,.a
2140 6e 64 20 74 68 72 65 65 20 69 63 6f 6e 73 20 6f 6e 20 74 68 65 20 72 69 67 68 74 20 68 61 6e 64 nd.three.icons.on.the.right.hand
2160 20 73 69 64 65 2e 20 57 68 65 6e 20 6c 65 66 74 20 63 6c 69 63 6b 65 64 2c 20 74 68 65 73 65 20 .side..When.left.clicked,.these.
2180 69 63 6f 6e 73 3a 0a 0a 09 2a 20 68 69 64 65 20 74 68 65 20 77 69 6e 64 6f 77 0a 09 2a 20 74 6f icons:...*.hide.the.window..*.to
21a0 67 67 6c 65 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20 5a 20 6f 72 64 65 72 20 41 6d 69 67 61 20 ggle.the.window's.Z.order.Amiga.
21c0 73 74 79 6c 65 20 28 69 66 20 69 74 27 73 20 6e 6f 74 20 61 74 20 74 68 65 20 66 72 6f 6e 74 2c style.(if.it's.not.at.the.front,
21e0 20 62 72 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20 66 72 6f 6e 74 2c 20 6f 74 68 65 72 77 69 73 .bring.it.to.the.front,.otherwis
2200 65 20 73 65 6e 64 20 69 74 20 74 6f 20 74 68 65 20 62 61 63 6b 29 0a 09 2a 20 63 6c 6f 73 65 20 e.send.it.to.the.back)..*.close.
2220 74 68 65 20 77 69 6e 64 6f 77 0a 0a 41 6e 6f 74 68 65 72 20 77 61 79 20 6f 66 20 74 6f 67 67 6c the.window..Another.way.of.toggl
2240 69 6e 67 20 61 20 77 69 6e 64 6f 77 27 73 20 5a 20 6f 72 64 65 72 20 28 64 65 70 74 68 29 20 69 ing.a.window's.Z.order.(depth).i
2260 73 20 62 79 20 64 6f 75 62 6c 65 20 6c 65 66 74 20 63 6c 69 63 6b 69 6e 67 20 6f 6e 20 74 68 65 s.by.double.left.clicking.on.the
2280 20 64 72 61 67 67 61 62 6c 65 20 70 61 72 74 20 6f 66 20 69 74 73 20 74 69 74 6c 65 62 61 72 2e .draggable.part.of.its.titlebar.
22a0 0a 0a 57 69 6e 64 6f 77 73 27 20 74 69 74 6c 65 62 61 72 73 20 61 72 65 20 70 72 65 76 65 6e 74 ..Windows'.titlebars.are.prevent
22c0 65 64 20 66 72 6f 6d 20 6c 65 61 76 69 6e 67 20 74 68 65 20 73 63 72 65 65 6e 20 61 6e 64 20 63 ed.from.leaving.the.screen.and.c
22e0 61 6e 6e 6f 74 20 6f 76 65 72 6c 61 70 20 74 68 65 20 74 61 73 6b 62 61 72 2e 0a 0a 54 68 65 20 annot.overlap.the.taskbar...The.
2300 74 61 73 6b 62 61 72 20 73 68 6f 75 6c 64 20 6c 69 73 74 20 61 6c 6c 20 77 69 6e 64 6f 77 73 20 taskbar.should.list.all.windows.
2320 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 75 73 65 2e 20 4c 65 66 74 20 63 6c 69 63 6b 69 6e 67 20 currently.in.use..Left.clicking.
2340 6f 6e 20 61 20 77 69 6e 64 6f 77 27 73 20 74 61 73 6b 62 61 72 20 69 74 65 6d 20 77 69 6c 6c 20 on.a.window's.taskbar.item.will.
2360 67 69 76 65 20 74 68 61 74 20 77 69 6e 64 6f 77 20 66 6f 63 75 73 20 61 6e 64 20 74 6f 67 67 6c give.that.window.focus.and.toggl
2380 65 20 69 74 73 20 5a 20 6f 72 64 65 72 20 28 64 65 70 74 68 29 2e 0a 0a 54 6f 20 72 65 73 69 7a e.its.Z.order.(depth)...To.resiz
23a0 65 20 74 68 65 20 61 63 74 69 76 65 20 77 69 6e 64 6f 77 20 68 6f 6c 64 20 64 6f 77 6e 20 61 6c e.the.active.window.hold.down.al
23c0 74 20 61 6e 64 20 70 75 73 68 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20 t.and.push.against.the.window's.
23e0 65 64 67 65 73 20 77 69 74 68 20 74 68 65 20 6c 65 66 74 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e edges.with.the.left.mouse.button
2400 20 64 6f 77 6e 2e 0a 0a 49 66 20 79 6f 75 20 72 69 67 68 74 20 63 6c 69 63 6b 20 6f 75 74 73 69 .down...If.you.right.click.outsi
2420 64 65 20 61 20 63 6c 69 65 6e 74 20 77 69 6e 64 6f 77 2c 20 57 69 6e 64 6f 77 4c 61 62 27 73 20 de.a.client.window,.WindowLab's.
2440 74 61 73 6b 62 61 72 20 62 65 63 6f 6d 65 73 20 61 20 6d 65 6e 75 62 61 72 2e 20 52 65 6c 65 61 taskbar.becomes.a.menubar..Relea
2460 73 69 6e 67 20 74 68 65 20 72 69 67 68 74 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 6f 76 65 72 sing.the.right.mouse.button.over
2480 20 61 20 73 65 6c 65 63 74 65 64 20 6d 65 6e 75 20 69 74 65 6d 20 77 69 6c 6c 20 73 74 61 72 74 .a.selected.menu.item.will.start
24a0 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 67 72 61 .a.corresponding.external.progra
24c0 6d 2e 20 57 69 6e 64 6f 77 4c 61 62 20 77 69 6c 6c 20 6c 6f 6f 6b 20 69 6e 20 65 61 63 68 20 6f m..WindowLab.will.look.in.each.o
24e0 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 69 6c 65 73 20 69 6e 20 74 75 72 6e 20 66 6f f.the.following.files.in.turn.fo
2500 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 6c 61 62 65 6c 73 r.definitions.of.the.menu.labels
2520 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 3a 0a 0a 09 2a 20 7e 2f 2e 77 69 6e 64 6f 77 6c 61 62 2f .and.commands:...*.~/.windowlab/
2540 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 63 0a 09 2a 20 2e 2e 2f 65 74 63 2f 77 69 6e 64 6f windowlab.menurc..*.../etc/windo
2560 77 6c 61 62 2e 6d 65 6e 75 72 63 20 28 66 72 6f 6d 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 wlab.menurc.(from.the.directory.
2580 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 29 0a 09 2a 20 2f 65 containing.the.executable)..*./e
25a0 74 63 2f 58 31 31 2f 77 69 6e 64 6f 77 6c 61 62 2f 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 tc/X11/windowlab/windowlab.menur
25c0 63 0a 0a 45 61 63 68 20 6c 69 6e 65 20 69 6e 20 74 68 65 20 6d 65 6e 75 72 63 20 66 69 6c 65 20 c..Each.line.in.the.menurc.file.
25e0 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 6d 65 6e 75 20 6c 61 62 65 6c 2c 20 61 20 63 6f should.have.the.menu.label,.a.co
2600 6c 6f 6e 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 lon,.and.then.the.corresponding.
2620 63 6f 6d 6d 61 6e 64 2c 20 65 67 3a 0a 0a 54 68 65 20 47 49 4d 50 3a 67 69 6d 70 0a 0a 4e 65 77 command,.eg:..The.GIMP:gimp..New
2640 20 77 69 6e 64 6f 77 73 20 28 74 68 61 74 20 64 6f 6e 27 74 20 73 70 65 63 69 66 79 20 74 68 65 .windows.(that.don't.specify.the
2660 69 72 20 6c 6f 63 61 74 69 6f 6e 29 20 61 72 65 20 70 6f 73 69 74 69 6f 6e 65 64 20 61 63 63 6f ir.location).are.positioned.acco
2680 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 74 68 65 20 rding.to.the.coordinates.of.the.
26a0 6d 6f 75 73 65 20 2d 20 74 68 65 20 74 6f 70 2d 6c 65 66 74 20 68 61 6e 64 20 63 6f 72 6e 65 72 mouse.-.the.top-left.hand.corner
26c0 20 6f 66 20 61 20 6e 65 77 20 77 69 6e 64 6f 77 20 69 73 20 73 65 74 20 74 6f 20 74 68 65 20 6c .of.a.new.window.is.set.to.the.l
26e0 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 28 69 66 ocation.of.the.mouse.pointer.(if
2700 20 6e 65 63 65 73 73 61 72 79 20 74 68 65 20 77 69 6e 64 6f 77 20 77 69 6c 6c 20 62 65 20 6d 6f .necessary.the.window.will.be.mo
2720 76 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 6c 6c 20 6f 66 20 69 74 20 69 73 20 ved.to.ensure.that.all.of.it.is.
2740 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 29 2e 0a 0a 57 69 6e 64 6f 77 4c 61 62 20 68 61 73 20 74 on.the.screen)...WindowLab.has.t
2760 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6b 65 79 62 6f 61 72 64 20 63 6f 6e 74 72 6f 6c 73 2e 20 he.following.keyboard.controls..
2780 48 6f 6c 64 20 64 6f 77 6e 20 61 6c 74 20 61 6e 64 20 70 72 65 73 73 3a 0a 0a 09 2a 20 74 61 62 Hold.down.alt.and.press:...*.tab
27a0 20 74 6f 20 67 69 76 65 20 66 6f 63 75 73 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 77 .to.give.focus.to.the.previous.w
27c0 69 6e 64 6f 77 0a 09 2a 20 71 20 74 6f 20 67 69 76 65 20 66 6f 63 75 73 20 74 6f 20 74 68 65 20 indow..*.q.to.give.focus.to.the.
27e0 6e 65 78 74 20 77 69 6e 64 6f 77 0a 09 2a 20 46 31 31 20 74 6f 20 74 6f 67 67 6c 65 20 66 75 6c next.window..*.F11.to.toggle.ful
2800 6c 73 63 72 65 65 6e 20 6d 6f 64 65 20 6f 6e 20 61 6e 64 20 6f 66 66 20 66 6f 72 20 6e 6f 6e 20 lscreen.mode.on.and.off.for.non.
2820 74 72 61 6e 73 69 65 6e 74 20 77 69 6e 64 6f 77 73 0a 09 2a 20 46 31 32 20 74 6f 20 74 6f 67 67 transient.windows..*.F12.to.togg
2840 6c 65 20 74 68 65 20 77 69 6e 64 6f 77 73 20 64 65 70 74 68 2e 20 54 68 69 73 20 69 73 20 74 68 le.the.windows.depth..This.is.th
2860 65 20 73 61 6d 65 20 61 73 20 6c 65 66 74 20 63 6c 69 63 6b 69 6e 67 20 61 20 77 69 6e 64 6f 77 e.same.as.left.clicking.a.window
2880 27 73 20 6d 69 64 64 6c 65 20 69 63 6f 6e 0a 0a 0a 0a 48 4f 57 20 43 41 4e 20 49 20 48 45 4c 50 's.middle.icon....HOW.CAN.I.HELP
28a0 3f 0a 0a 49 66 20 79 6f 75 20 66 69 6e 64 20 61 20 62 75 67 20 70 6c 65 61 73 65 20 74 65 6c 6c ?..If.you.find.a.bug.please.tell
28c0 20 6d 65 20 61 62 6f 75 74 20 69 74 20 62 79 20 65 6d 61 69 6c 69 6e 67 20 6d 65 40 6e 69 63 6b .me.about.it.by.emailing.me@nick
28e0 67 72 61 76 67 61 61 72 64 2e 63 6f 6d 20 28 69 66 20 79 6f 75 20 6b 6e 6f 77 20 68 6f 77 20 74 gravgaard.com.(if.you.know.how.t
2900 6f 20 66 69 78 20 69 74 2c 20 65 76 65 6e 20 62 65 74 74 65 72 29 2e 20 49 66 20 79 6f 75 20 72 o.fix.it,.even.better)..If.you.r
2920 65 61 6c 6c 79 20 6c 69 6b 65 20 57 69 6e 64 6f 77 4c 61 62 2c 20 70 6c 65 61 73 65 20 74 65 6c eally.like.WindowLab,.please.tel
2940 6c 20 6f 74 68 65 72 73 20 61 62 6f 75 74 20 69 74 20 73 6f 20 74 68 61 74 20 74 68 65 20 6e 75 l.others.about.it.so.that.the.nu
2960 6d 62 65 72 20 6f 66 20 70 6f 74 65 6e 74 69 61 6c 20 75 73 65 72 73 2f 63 6f 6e 74 72 69 62 75 mber.of.potential.users/contribu
2980 74 6f 72 73 20 6d 61 79 20 69 6e 63 72 65 61 73 65 2e 0a 0a 0a 0a 44 45 53 49 47 4e 20 52 41 54 tors.may.increase.....DESIGN.RAT
29a0 49 4f 4e 41 4c 45 0a 0a 42 65 66 6f 72 65 20 49 20 73 74 61 72 74 65 64 20 57 69 6e 64 6f 77 4c IONALE..Before.I.started.WindowL
29c0 61 62 2c 20 49 27 64 20 62 65 65 6e 20 61 6e 20 41 6d 69 67 61 20 75 73 65 72 20 77 68 6f 20 68 ab,.I'd.been.an.Amiga.user.who.h
29e0 61 64 20 73 77 69 74 63 68 65 64 20 74 6f 20 4c 69 6e 75 78 20 61 72 6f 75 6e 64 20 31 39 39 38 ad.switched.to.Linux.around.1998
2a00 2e 20 54 6f 20 6d 79 20 6d 69 6e 64 2c 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 73 20 28 6c ..To.my.mind,.window.managers.(l
2a20 69 6b 65 20 74 65 78 74 20 65 64 69 74 6f 72 73 20 61 6e 64 20 66 69 6c 65 20 6d 61 6e 61 67 65 ike.text.editors.and.file.manage
2a40 72 73 29 20 61 72 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 69 6d 70 6f 72 74 61 6e rs).are.one.of.the.most.importan
2a60 74 20 70 61 72 74 73 20 6f 66 20 61 6e 79 20 73 79 73 74 65 6d 20 66 6f 72 20 74 68 65 20 75 73 t.parts.of.any.system.for.the.us
2a80 65 72 2c 20 61 6e 64 20 49 20 77 61 73 6e 27 74 20 73 61 74 69 73 66 69 65 64 20 77 69 74 68 20 er,.and.I.wasn't.satisfied.with.
2aa0 74 68 6f 73 65 20 74 68 61 74 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 65 64 2e 20 41 74 20 74 those.that.already.existed..At.t
2ac0 68 61 74 20 74 69 6d 65 20 46 56 57 4d 32 20 77 61 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d hat.time.FVWM2.was.the.most.comm
2ae0 6f 6e 6c 79 20 75 73 65 64 20 4c 69 6e 75 78 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 20 62 only.used.Linux.window.manager.b
2b00 75 74 20 69 74 20 77 61 73 20 66 61 72 20 74 6f 6f 20 6c 61 72 67 65 20 66 6f 72 20 6d 79 20 74 ut.it.was.far.too.large.for.my.t
2b20 61 73 74 65 73 2c 20 61 6e 64 20 49 20 73 75 73 70 65 63 74 65 64 20 74 68 61 74 20 6f 6e 65 20 astes,.and.I.suspected.that.one.
2b40 6f 66 20 74 68 65 20 72 65 61 73 6f 6e 73 20 66 6f 72 20 74 68 69 73 20 77 61 73 20 74 68 61 74 of.the.reasons.for.this.was.that
2b60 20 69 74 20 77 61 73 20 64 65 73 69 67 6e 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 73 6f 20 6d 61 .it.was.designed.to.handle.so.ma
2b80 6e 79 20 64 69 66 66 65 72 65 6e 74 20 6f 70 74 69 6f 6e 73 2e 0a 0a 53 6f 20 49 20 73 74 61 72 ny.different.options...So.I.star
2ba0 74 65 64 20 77 6f 72 6b 20 6f 6e 20 6d 79 20 6f 77 6e 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 ted.work.on.my.own.window.manage
2bc0 72 2c 20 62 61 73 69 6e 67 20 69 74 20 6f 6e 20 61 65 77 6d 2e 20 54 68 65 20 6d 6f 73 74 20 69 r,.basing.it.on.aewm..The.most.i
2be0 6d 70 6f 72 74 61 6e 74 20 66 65 61 74 75 72 65 20 74 6f 20 6d 79 20 6d 69 6e 64 20 77 61 73 20 mportant.feature.to.my.mind.was.
2c00 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 41 6d 69 67 61 27 73 20 63 6c 69 63 6b 2d 74 to.implement.the.Amiga's.click-t
2c20 6f 2d 66 6f 63 75 73 20 62 75 74 20 6e 6f 74 20 72 61 69 73 65 2d 6f 6e 2d 66 6f 63 75 73 20 62 o-focus.but.not.raise-on-focus.b
2c40 65 68 61 76 69 6f 75 72 2c 20 77 68 65 72 65 20 61 20 66 6f 63 75 73 65 64 20 77 69 6e 64 6f 77 ehaviour,.where.a.focused.window
2c60 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 .is.not.necessarily.in.front.of.
2c80 6f 74 68 65 72 20 77 69 6e 64 6f 77 73 2e 20 52 65 61 6c 69 73 69 6e 67 20 74 68 61 74 20 69 74 other.windows..Realising.that.it
2ca0 20 63 61 6e 20 62 65 20 68 61 72 64 20 74 6f 20 67 65 74 20 74 6f 20 61 20 77 69 6e 64 6f 77 73 .can.be.hard.to.get.to.a.windows
2cc0 20 62 75 74 74 6f 6e 73 20 69 66 20 69 74 20 69 73 20 62 65 68 69 6e 64 20 61 6e 6f 74 68 65 72 .buttons.if.it.is.behind.another
2ce0 20 77 69 6e 64 6f 77 2c 20 49 20 61 64 64 65 64 20 61 20 73 69 6d 70 6c 69 66 69 65 64 20 57 69 .window,.I.added.a.simplified.Wi
2d00 6e 64 6f 77 73 20 39 35 20 73 74 79 6c 65 20 74 61 73 6b 62 61 72 20 73 6f 20 74 68 61 74 20 75 ndows.95.style.taskbar.so.that.u
2d20 73 65 72 73 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 61 63 63 65 73 73 20 65 61 63 68 20 77 69 sers.could.easily.access.each.wi
2d40 6e 64 6f 77 2e 0a 0a 41 6e 6f 74 68 65 72 20 6e 65 61 74 20 66 65 61 74 75 72 65 20 6f 66 20 74 ndow...Another.neat.feature.of.t
2d60 68 65 20 41 6d 69 67 61 27 73 20 47 55 49 20 74 68 61 74 20 68 61 64 20 6e 6f 74 20 62 65 65 6e he.Amiga's.GUI.that.had.not.been
2d80 20 64 6f 6e 65 20 62 65 66 6f 72 65 20 69 6e 20 61 6e 20 58 20 77 69 6e 64 6f 77 20 6d 61 6e 61 .done.before.in.an.X.window.mana
2da0 67 65 72 20 77 61 73 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 69 6e 67 20 6f 66 20 74 68 65 20 ger.was.the.constraining.of.the.
2dc0 70 6f 69 6e 74 65 72 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 74 72 69 65 64 20 74 6f 20 64 pointer.when.the.user.tried.to.d
2de0 72 61 67 20 61 20 77 69 6e 64 6f 77 20 62 65 79 6f 6e 64 20 74 68 65 20 65 64 67 65 20 6f 66 20 rag.a.window.beyond.the.edge.of.
2e00 74 68 65 20 73 63 72 65 65 6e 2e 20 49 6e 20 74 68 69 73 20 77 61 79 2c 20 57 69 6e 64 6f 77 4c the.screen..In.this.way,.WindowL
2e20 61 62 20 74 72 65 61 74 73 20 77 69 6e 64 6f 77 73 20 6c 69 6b 65 20 74 68 65 79 20 61 72 65 20 ab.treats.windows.like.they.are.
2e40 41 6d 69 67 61 20 73 63 72 65 65 6e 73 20 69 6e 20 74 68 61 74 20 61 20 77 69 6e 64 6f 77 27 73 Amiga.screens.in.that.a.window's
2e60 20 74 69 74 6c 65 62 61 72 20 69 73 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 74 6f 20 74 68 65 20 .titlebar.is.constrained.to.the.
2e80 70 68 79 73 69 63 61 6c 20 73 63 72 65 65 6e 2e 20 41 74 20 74 68 69 73 20 70 6f 69 6e 74 20 49 physical.screen..At.this.point.I
2ea0 20 73 74 61 72 74 65 64 20 74 6f 20 74 68 69 6e 6b 20 61 62 6f 75 74 20 74 68 65 20 69 73 73 75 .started.to.think.about.the.issu
2ec0 65 20 6f 66 20 6c 61 75 6e 63 68 69 6e 67 20 70 72 6f 67 72 61 6d 73 20 66 72 6f 6d 20 57 69 6e e.of.launching.programs.from.Win
2ee0 64 6f 77 4c 61 62 2e 20 61 65 77 6d 27 73 20 61 70 70 72 6f 61 63 68 20 77 61 73 20 74 68 61 74 dowLab..aewm's.approach.was.that
2f00 20 74 61 73 6b 62 61 72 73 20 61 6e 64 20 6c 61 75 6e 63 68 69 6e 67 20 66 69 6c 65 73 20 77 61 .taskbars.and.launching.files.wa
2f20 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 s.not.part.of.the.window.manager
2f40 27 73 20 6a 6f 62 2c 20 61 6e 64 20 49 20 72 65 73 70 65 63 74 65 64 20 74 68 65 20 6d 69 6e 69 's.job,.and.I.respected.the.mini
2f60 6d 61 6c 69 73 74 20 72 65 61 73 6f 6e 69 6e 67 20 62 65 68 69 6e 64 20 74 68 69 73 2c 20 62 75 malist.reasoning.behind.this,.bu
2f80 74 20 73 69 6e 63 65 20 6d 79 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 77 69 6e 64 6f 77 73 20 74 t.since.my.constrained.windows.t
2fa0 6f 6f 6b 20 69 74 20 66 6f 72 20 67 72 61 6e 74 65 64 20 74 68 61 74 20 61 20 74 61 73 6b 62 61 ook.it.for.granted.that.a.taskba
2fc0 72 20 65 78 69 73 74 65 64 20 61 74 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 73 63 72 65 r.existed.at.the.top.of.the.scre
2fe0 65 6e 2c 20 49 20 72 65 61 73 6f 6e 65 64 20 74 68 61 74 20 74 68 65 20 74 61 73 6b 62 61 72 20 en,.I.reasoned.that.the.taskbar.
3000 77 61 73 20 62 65 73 74 20 6b 65 70 74 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 20 was.best.kept.within.the.window.
3020 6d 61 6e 61 67 65 72 2e 20 57 69 74 68 20 74 68 65 20 74 61 73 6b 62 61 72 20 74 61 6b 69 6e 67 manager..With.the.taskbar.taking
3040 20 75 70 20 61 73 20 6d 75 63 68 20 73 70 61 63 65 20 61 73 20 61 20 6d 65 6e 75 20 62 61 72 20 .up.as.much.space.as.a.menu.bar.
3060 77 6f 75 6c 64 2c 20 49 20 72 65 61 6c 69 73 65 64 20 74 68 61 74 20 49 20 63 6f 75 6c 64 20 72 would,.I.realised.that.I.could.r
3080 65 75 73 65 20 73 70 61 63 65 20 6a 75 73 74 20 6c 69 6b 65 20 74 68 65 20 41 6d 69 67 61 20 68 euse.space.just.like.the.Amiga.h
30a0 61 64 20 64 6f 6e 65 20 62 79 20 6d 61 6b 69 6e 67 20 61 20 6d 65 6e 75 20 62 61 72 20 61 76 61 ad.done.by.making.a.menu.bar.ava
30c0 69 6c 61 62 6c 65 20 77 68 65 6e 20 74 68 65 20 72 69 67 68 74 20 6d 6f 75 73 65 20 62 75 74 74 ilable.when.the.right.mouse.butt
30e0 6f 6e 20 69 73 20 68 65 6c 64 20 64 6f 77 6e 2e 20 4d 79 20 74 77 69 73 74 20 77 61 73 20 74 68 on.is.held.down..My.twist.was.th
3100 61 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 68 61 76 65 20 64 72 6f 70 20 64 6f 77 6e 20 6d 65 at.rather.than.have.drop.down.me
3120 6e 75 73 2c 20 6d 79 20 6d 65 6e 75 62 61 72 20 77 6f 75 6c 64 20 63 6f 6e 73 69 73 74 20 6f 66 nus,.my.menubar.would.consist.of
3140 20 22 62 61 6e 67 22 20 6d 65 6e 75 20 69 74 65 6d 73 20 61 20 6c 69 74 74 6c 65 20 6c 69 6b 65 ."bang".menu.items.a.little.like
3160 20 74 68 65 20 22 51 75 69 63 6b 20 4c 61 75 6e 63 68 22 20 74 6f 6f 6c 62 61 72 20 69 6e 20 57 .the."Quick.Launch".toolbar.in.W
3180 69 6e 64 6f 77 73 20 39 38 2c 20 61 6e 64 20 62 79 20 6b 65 65 70 69 6e 67 20 74 68 65 20 6d 65 indows.98,.and.by.keeping.the.me
31a0 6e 75 20 6f 6e 65 20 6c 65 76 65 6c 20 64 65 65 70 2c 20 49 20 63 6f 75 6c 64 20 72 65 75 73 65 nu.one.level.deep,.I.could.reuse
31c0 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 74 .the.constrained.mouse.pointer.t
31e0 72 69 63 6b 20 74 6f 20 6d 61 6b 65 20 74 61 72 67 65 74 20 6d 65 6e 75 20 69 74 65 6d 73 20 65 rick.to.make.target.menu.items.e
3200 61 73 69 65 72 20 74 6f 20 68 69 74 20 28 69 6e 66 69 6e 69 74 65 6c 79 20 74 61 6c 6c 20 61 63 asier.to.hit.(infinitely.tall.ac
3220 63 6f 72 64 69 6e 67 20 74 6f 20 46 69 74 74 73 27 73 20 6c 61 77 29 2e 0a 0a 49 20 61 6c 73 6f cording.to.Fitts's.law)...I.also
3240 20 77 61 6e 74 65 64 20 77 69 6e 64 6f 77 73 20 74 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 61 63 .wanted.windows.to.be.able.to.ac
3260 74 20 6c 69 6b 65 20 73 63 72 65 65 6e 73 20 6f 6e 20 74 68 65 20 41 6d 69 67 61 20 28 77 68 65 t.like.screens.on.the.Amiga.(whe
3280 72 65 20 74 68 65 20 74 69 74 6c 65 20 62 61 72 20 61 6e 64 20 63 6c 69 65 6e 74 20 61 72 65 61 re.the.title.bar.and.client.area
32a0 20 63 61 6e 20 74 61 6b 65 20 75 70 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 29 2c .can.take.up.all.of.the.screen),
32c0 20 61 6e 64 20 74 68 69 73 20 66 6f 72 63 65 64 20 6d 65 20 74 6f 20 72 75 6c 65 20 6f 75 74 20 .and.this.forced.me.to.rule.out.
32e0 61 6e 79 20 75 73 65 66 75 6c 20 6b 69 6e 64 20 6f 66 20 64 72 61 67 67 61 62 6c 65 20 77 69 6e any.useful.kind.of.draggable.win
3300 64 6f 77 20 62 6f 72 64 65 72 73 2e 20 45 61 72 6c 69 65 72 20 76 65 72 73 69 6f 6e 73 20 28 75 dow.borders..Earlier.versions.(u
3320 70 20 74 6f 20 31 2e 32 30 29 20 75 73 65 64 20 61 6e 20 38 bd 20 28 66 72 6f 6d 20 50 6c 61 6e p.to.1.20).used.an.8..(from.Plan
3340 20 39 29 20 73 74 79 6c 65 20 72 65 73 69 7a 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2c 20 62 75 .9).style.resizing.mechanism,.bu
3360 74 20 73 6f 6d 65 20 75 73 65 72 73 20 63 6f 6d 70 6c 61 69 6e 65 64 20 74 68 61 74 20 69 74 20 t.some.users.complained.that.it.
3380 6d 65 61 6e 74 20 74 68 61 74 20 65 61 63 68 20 65 64 67 65 20 6f 66 20 74 68 65 20 77 69 6e 64 meant.that.each.edge.of.the.wind
33a0 6f 77 20 63 68 61 6e 67 65 64 20 65 76 65 6e 20 69 66 20 6f 6e 6c 79 20 61 20 73 6d 61 6c 6c 20 ow.changed.even.if.only.a.small.
33c0 72 65 73 69 7a 65 20 77 61 73 20 69 6e 74 65 6e 64 65 64 2e 20 54 68 65 20 6d 65 63 68 61 6e 69 resize.was.intended..The.mechani
33e0 73 6d 20 74 68 61 74 20 72 65 70 6c 61 63 65 64 20 69 74 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c sm.that.replaced.it.is.completel
3400 79 20 6f 72 69 67 69 6e 61 6c 2c 20 61 6e 64 20 71 75 69 63 6b 65 72 20 61 6e 64 20 65 61 73 69 y.original,.and.quicker.and.easi
3420 65 72 20 74 6f 20 75 73 65 20 74 68 61 6e 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 64 72 61 67 67 er.to.use.than.traditional.dragg
3440 61 62 6c 65 20 62 6f 72 64 65 72 73 20 28 61 6c 6c 6f 77 69 6e 67 20 6f 6e 65 20 6f 72 20 6d 61 able.borders.(allowing.one.or.ma
3460 6e 79 20 65 64 67 65 73 20 6f 66 20 61 20 77 69 6e 64 6f 77 20 74 6f 20 62 65 20 63 68 61 6e 67 ny.edges.of.a.window.to.be.chang
3480 65 64 20 69 6e 20 6f 6e 65 20 61 63 74 69 6f 6e 20 77 69 74 68 6f 75 74 20 74 68 65 20 75 73 65 ed.in.one.action.without.the.use
34a0 72 20 68 61 76 69 6e 67 20 74 6f 20 63 6c 69 63 6b 20 6f 6e 20 74 68 69 6e 20 77 69 6e 64 6f 77 r.having.to.click.on.thin.window
34c0 20 62 6f 72 64 65 72 73 29 2e 0a 0a 0a 0a 54 49 50 53 20 41 4e 44 20 54 52 49 43 4b 53 0a 0a 2a .borders).....TIPS.AND.TRICKS..*
34e0 20 49 74 20 69 73 20 6e 6f 74 20 74 68 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 27 73 20 .It.is.not.the.window.manager's.
3500 6a 6f 62 20 74 6f 20 73 65 74 20 74 68 65 20 72 6f 6f 74 20 77 69 6e 64 6f 77 27 73 20 70 6f 69 job.to.set.the.root.window's.poi
3520 6e 74 65 72 20 63 75 72 73 6f 72 20 6f 72 20 62 61 63 6b 67 72 6f 75 6e 64 20 69 6d 61 67 65 20 nter.cursor.or.background.image.
3540 62 75 74 20 79 6f 75 20 63 61 6e 20 75 73 65 20 22 78 73 65 74 72 6f 6f 74 20 2d 63 75 72 73 6f but.you.can.use."xsetroot.-curso
3560 72 5f 6e 61 6d 65 20 74 6f 70 5f 6c 65 66 74 5f 61 72 72 6f 77 22 20 74 6f 20 73 65 74 20 74 68 r_name.top_left_arrow".to.set.th
3580 65 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 78 76 2c 20 78 6c 6f 61 64 69 6d 61 67 65 20 6f 72 20 e.pointer.and.xv,.xloadimage.or.
35a0 78 70 6d 72 6f 6f 74 20 74 6f 20 73 65 74 20 61 20 62 61 63 6b 67 72 6f 75 6e 64 20 69 6d 61 67 xpmroot.to.set.a.background.imag
35c0 65 2e 0a 2a 20 57 69 6e 64 6f 77 4c 61 62 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 76 69 72 e..*.WindowLab.does.not.have.vir
35e0 74 75 61 6c 20 64 65 73 6b 74 6f 70 73 2c 20 62 75 74 20 79 6f 75 20 63 61 6e 20 75 73 65 20 76 tual.desktops,.but.you.can.use.v
3600 64 65 73 6b 2c 20 61 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 64 72 69 76 65 6e 20 76 69 72 74 desk,.a.command-line.driven.virt
3620 75 61 6c 20 77 6f 72 6b 73 70 61 63 65 20 6d 61 6e 61 67 65 72 20 74 68 61 74 20 49 27 76 65 20 ual.workspace.manager.that.I've.
3640 62 65 65 6e 20 74 6f 6c 64 20 77 6f 72 6b 73 20 61 63 63 65 70 74 61 62 6c 79 2e 20 54 68 69 73 been.told.works.acceptably..This
3660 20 63 61 6e 20 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 61 20 73 65 70 61 72 61 74 65 .can.be.combined.with.a.separate
3680 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6c 61 75 6e 63 68 65 72 20 28 6f 72 20 57 69 6e 64 6f 77 .application.launcher.(or.Window
36a0 4c 61 62 27 73 20 62 75 69 6c 74 2d 69 6e 20 6d 65 6e 75 62 61 72 29 20 74 6f 20 67 69 76 65 20 Lab's.built-in.menubar).to.give.
36c0 6d 6f 73 74 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 6e 65 65 64 65 64 most.of.the.functionality.needed
36e0 2e 0a 2a 20 49 66 20 79 6f 75 20 61 72 65 20 6c 6f 63 6b 65 64 20 69 6e 74 6f 20 74 68 65 20 6d ..*.If.you.are.locked.into.the.m
3700 65 6e 75 62 61 72 20 61 6e 64 20 77 61 6e 74 20 74 6f 20 67 65 74 20 6f 75 74 20 6f 66 20 69 74 enubar.and.want.to.get.out.of.it
3720 2c 20 63 6c 69 63 6b 20 74 68 65 20 6c 65 66 74 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0a 2a 20 ,.click.the.left.mouse.button.*.
3740 55 73 65 20 41 6c 74 20 2b 20 46 31 31 20 74 6f 20 74 6f 67 67 6c 65 20 66 75 6c 6c 73 63 72 65 Use.Alt.+.F11.to.toggle.fullscre
3760 65 6e 20 6d 6f 64 65 20 6f 6e 20 62 65 66 6f 72 65 20 77 61 74 63 68 69 6e 67 20 76 69 64 65 6f en.mode.on.before.watching.video
3780 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 0a 2a 20 43 68 72 69 73 20 54 75 72 6b 65 6c 20 28 7a 69 .applications.*.Chris.Turkel.(zi
37a0 7a 62 61 6e 20 28 61 74 29 20 61 64 65 6c 70 68 69 61 20 28 64 6f 74 29 20 6e 65 74 29 20 6d 61 zban.(at).adelphia.(dot).net).ma
37c0 6e 61 67 65 64 20 74 6f 20 67 65 74 20 57 69 6e 64 6f 77 4c 61 62 20 77 6f 72 6b 69 6e 67 20 6f naged.to.get.WindowLab.working.o
37e0 6e 20 53 6f 6c 61 72 69 73 20 31 30 20 78 38 36 2e 20 59 6f 75 20 63 61 6e 20 67 65 74 20 68 69 n.Solaris.10.x86..You.can.get.hi
3800 73 20 6e 6f 74 65 73 20 61 74 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 64 2e s.notes.at.http://nickgravgaard.
3820 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 73 6f 6c 61 72 69 73 2e 74 78 74 0a 0a 49 66 20 79 6f com/windowlab/solaris.txt..If.yo
3840 75 20 6b 6e 6f 77 20 61 6e 79 20 6f 74 68 65 72 20 74 69 70 73 20 66 6f 72 20 75 73 65 20 77 69 u.know.any.other.tips.for.use.wi
3860 74 68 20 57 69 6e 64 6f 77 4c 61 62 2c 20 70 6c 65 61 73 65 20 67 65 74 20 69 6e 20 63 6f 6e 74 th.WindowLab,.please.get.in.cont
3880 61 63 74 20 77 69 74 68 20 6d 65 20 73 6f 20 74 68 61 74 20 49 20 63 61 6e 20 6c 69 73 74 20 74 act.with.me.so.that.I.can.list.t
38a0 68 65 6d 20 68 65 72 65 2e 0a 0a 0a 0a 41 43 4b 4e 4f 57 4c 45 44 47 45 4d 45 4e 54 53 0a 0a 54 hem.here.....ACKNOWLEDGEMENTS..T
38c0 68 61 6e 6b 73 20 74 6f 20 44 65 63 6b 6c 69 6e 20 46 6f 73 74 65 72 20 77 68 6f 20 77 72 6f 74 hanks.to.Decklin.Foster.who.wrot
38e0 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 61 65 77 6d 20 28 76 31 2e 31 2e 32 20 74 6f 20 62 e.the.original.aewm.(v1.1.2.to.b
3900 65 20 70 72 65 63 69 73 65 29 20 6f 6e 20 77 68 69 63 68 20 57 69 6e 64 6f 77 4c 61 62 20 69 73 e.precise).on.which.WindowLab.is
3920 20 62 61 73 65 64 2e 20 48 65 27 73 20 64 6f 6e 65 20 61 20 73 75 70 65 72 62 20 6a 6f 62 20 6f .based..He's.done.a.superb.job.o
3940 66 20 77 72 69 74 69 6e 67 20 61 20 6d 69 6e 69 6d 61 6c 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 f.writing.a.minimal.window.manag
3960 65 72 20 61 6e 64 20 77 61 73 20 67 6f 6f 64 20 65 6e 6f 75 67 68 20 74 6f 20 72 65 6c 65 61 73 er.and.was.good.enough.to.releas
3980 65 20 69 74 20 75 6e 64 65 72 20 61 20 6c 69 62 65 72 61 6c 20 6c 69 63 65 6e 63 65 20 74 68 61 e.it.under.a.liberal.licence.tha
39a0 74 20 61 6c 6c 6f 77 73 20 61 6e 79 6f 6e 65 20 74 6f 20 61 64 64 20 74 68 65 69 72 20 66 61 76 t.allows.anyone.to.add.their.fav
39c0 6f 75 72 69 74 65 20 47 50 4c 20 6f 72 20 42 53 44 20 66 6c 61 76 6f 75 72 20 61 73 20 74 68 65 ourite.GPL.or.BSD.flavour.as.the
39e0 79 20 73 65 65 20 66 69 74 2e 0a 0a 0a 0a 49 4e 48 45 52 49 54 45 44 20 4c 49 43 45 4e 43 45 53 y.see.fit.....INHERITED.LICENCES
3a00 0a 0a 61 65 77 6d 0a 0a 3e 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 38 2d 32 30 30 ..aewm..>.Copyright.(c).1998-200
3a20 31 20 44 65 63 6b 6c 69 6e 20 46 6f 73 74 65 72 2e 0a 3e 0a 3e 20 54 48 49 53 20 53 4f 46 54 57 1.Decklin.Foster..>.>.THIS.SOFTW
3a40 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 42 59 20 54 48 45 20 41 55 54 48 4f 52 20 22 41 ARE.IS.PROVIDED.BY.THE.AUTHOR."A
3a60 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 41 4e 59 20 45 58 50 52 45 53 53 0a 3e 20 4f 52 20 S.IS",.WITHOUT.ANY.EXPRESS.>.OR.
3a80 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2e 20 IMPLIED.WARRANTIES.OF.ANY.KIND..
3aa0 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 20 41 55 54 48 4f 52 20 42 45 0a IN.NO.EVENT.SHALL.THE.AUTHOR.BE.
3ac0 3e 20 48 45 4c 44 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 44 41 4d 41 47 45 53 20 43 4f >.HELD.LIABLE.FOR.ANY.DAMAGES.CO
3ae0 4e 4e 45 43 54 45 44 20 57 49 54 48 20 54 48 45 20 55 53 45 20 4f 46 20 54 48 49 53 20 50 52 4f NNECTED.WITH.THE.USE.OF.THIS.PRO
3b00 47 52 41 4d 2e 0a 3e 0a 3e 20 59 6f 75 20 61 72 65 20 67 72 61 6e 74 65 64 20 70 65 72 6d 69 73 GRAM..>.>.You.are.granted.permis
3b20 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 sion.to.copy,.publish,.distribut
3b40 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 3e 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 20 e,.and/or.sell.>.copies.of.this.
3b60 70 72 6f 67 72 61 6d 20 61 6e 64 20 61 6e 79 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e program.and.any.modified.version
3b80 73 20 6f 72 20 64 65 72 69 76 65 64 20 77 6f 72 6b 73 2c 0a 3e 20 70 72 6f 76 69 64 65 64 20 74 s.or.derived.works,.>.provided.t
3ba0 68 61 74 20 74 68 69 73 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6e 6f 74 69 63 65 20 61 72 hat.this.copyright.and.notice.ar
3bc0 65 20 6e 6f 74 20 72 65 6d 6f 76 65 64 20 6f 72 20 61 6c 74 65 72 65 64 2e 0a 0a 39 77 6d 0a 0a e.not.removed.or.altered...9wm..
3be0 3e 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 20 44 61 76 69 64 20 48 6f 67 61 6e >.Copyright.(c).1994.David.Hogan
3c00 0a 3e 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 39 20 54 68 65 20 45 73 74 61 74 65 .>.Copyright.(c).2009.The.Estate
3c20 20 6f 66 20 44 61 76 69 64 20 48 6f 67 61 6e 0a 3e 0a 3e 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 .of.David.Hogan.>.>.Permission.i
3c40 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 s.hereby.granted,.free.of.charge
3c60 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 ,.to.any.person.obtaining.a.copy
3c80 0a 3e 20 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 .>.of.this.software.and.associat
3ca0 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 ed.documentation.files.(the."Sof
3cc0 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 3e 20 69 6e 20 74 68 65 20 53 6f 66 74 77 61 tware"),.to.deal.>.in.the.Softwa
3ce0 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e re.without.restriction,.includin
3d00 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a g.without.limitation.the.rights.
3d20 3e 20 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 >.to.use,.copy,.modify,.merge,.p
3d40 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 63 65 2c 20 ublish,.distribute,.sublicence,.
3d60 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 3e 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 and/or.sell.>.copies.of.the.Soft
3d80 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 ware,.and.to.permit.persons.to.w
3da0 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 3e 20 66 75 72 6e 69 73 68 65 64 20 hom.the.Software.is.>.furnished.
3dc0 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 to.do.so,.subject.to.the.followi
3de0 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 3e 0a 3e 20 54 68 65 20 61 62 6f 76 65 20 63 6f 70 ng.conditions:.>.>.The.above.cop
3e00 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f yright.notice.and.this.permissio
3e20 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 3e 20 n.notice.shall.be.included.in.>.
3e40 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f all.copies.or.substantial.portio
3e60 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 3e 0a 3e 20 54 48 45 20 53 4f 46 54 ns.of.the.Software..>.>.THE.SOFT
3e80 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 WARE.IS.PROVIDED."AS.IS",.WITHOU
3ea0 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 T.WARRANTY.OF.ANY.KIND,.EXPRESS.
3ec0 4f 52 0a 3e 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 OR.>.IMPLIED,.INCLUDING.BUT.NOT.
3ee0 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 LIMITED.TO.THE.WARRANTIES.OF.MER
3f00 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 3e 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 CHANTABILITY,.>.FITNESS.FOR.A.PA
3f20 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 RTICULAR.PURPOSE.AND.NONINFRINGE
3f40 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 3e 20 41 55 MENT..IN.NO.EVENT.SHALL.THE.>.AU
3f60 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 THORS.OR.COPYRIGHT.HOLDERS.BE.LI
3f80 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f ABLE.FOR.ANY.CLAIM,.DAMAGES.OR.O
3fa0 54 48 45 52 0a 3e 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 THER.>.LIABILITY,.WHETHER.IN.AN.
3fc0 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 ACTION.OF.CONTRACT,.TORT.OR.OTHE
3fe0 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 3e 20 4f 55 54 20 4f 46 20 4f 52 RWISE,.ARISING.FROM,.>.OUT.OF.OR
4000 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 .IN.CONNECTION.WITH.THE.SOFTWARE
4020 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e .OR.THE.USE.OR.OTHER.DEALINGS.IN
4040 0a 3e 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .>.THE.SOFTWARE.................
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 00 00 00 ................................
4080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4200 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 54 4f 44 4f 00 00 00 00 00 00 00 00 00 00 00 00 00 windowlab-1.40/TODO.............
4220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
4280 30 30 30 30 32 33 34 00 31 30 33 32 34 34 36 32 35 34 30 00 30 31 32 35 34 35 00 20 30 00 00 00 0000234.10324462540.012545..0...
42a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4300 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
4320 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
4340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4400 54 4f 44 4f 0a 0a 2a 20 61 64 64 20 45 57 4d 48 20 73 75 70 70 6f 72 74 20 28 62 61 63 6b 20 70 TODO..*.add.EWMH.support.(back.p
4420 6f 72 74 20 69 74 20 66 72 6f 6d 20 61 65 77 6d 3f 29 0a 2a 20 61 6c 6c 6f 77 20 72 69 67 68 74 ort.it.from.aewm?).*.allow.right
4440 20 63 6c 69 63 6b 73 20 6f 6e 20 63 6c 69 65 6e 74 20 77 69 6e 64 6f 77 73 20 74 6f 20 73 68 6f .clicks.on.client.windows.to.sho
4460 77 20 57 69 6e 64 6f 77 4c 61 62 27 73 20 6d 65 6e 75 62 61 72 20 61 73 20 77 65 6c 6c 20 61 73 w.WindowLab's.menubar.as.well.as
4480 20 62 65 69 6e 67 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 63 6c 69 65 6e 74 0a 00 00 00 00 .being.passed.to.the.client.....
44a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4600 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 77 69 6e 64 6f 77 6c 61 62 2e 31 78 00 00 00 00 00 windowlab-1.40/windowlab.1x.....
4620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
4680 30 30 30 37 30 36 33 00 31 30 34 36 37 36 36 30 34 33 30 00 30 31 34 33 33 32 00 20 30 00 00 00 0007063.10467660430.014332..0...
46a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4700 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
4720 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
4740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4800 2e 5c 22 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 .\".WindowLab.-.an.X11.window.ma
4820 6e 61 67 65 72 0a 2e 5c 22 20 62 79 20 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 20 28 6d 65 20 nager..\".by.Nick.Gravgaard.(me.
4840 61 74 20 6e 69 63 6b 67 72 61 76 67 61 61 72 64 2e 63 6f 6d 29 0a 2e 54 48 20 57 49 4e 44 4f 57 at.nickgravgaard.com)..TH.WINDOW
4860 4c 41 42 20 31 78 0a 2e 53 48 20 22 4e 41 4d 45 22 0a 77 69 6e 64 6f 77 6c 61 62 20 5c 2d 20 61 LAB.1x..SH."NAME".windowlab.\-.a
4880 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 20 66 6f 72 20 58 31 31 0a 2e 53 48 20 22 53 59 4e .window.manager.for.X11..SH."SYN
48a0 4f 50 53 49 53 22 0a 2e 42 20 77 69 6e 64 6f 77 6c 61 62 20 5c 66 49 5b 6f 70 74 69 6f 6e 73 2e OPSIS"..B.windowlab.\fI[options.
48c0 2e 2e 5d 5c 66 50 0a 2e 53 48 20 44 45 53 43 52 49 50 54 49 4f 4e 0a 2e 42 20 77 69 6e 64 6f 77 ..]\fP..SH.DESCRIPTION..B.window
48e0 6c 61 62 0a 69 73 20 61 20 73 6d 61 6c 6c 20 61 6e 64 20 73 69 6d 70 6c 65 20 77 69 6e 64 6f 77 lab.is.a.small.and.simple.window
4900 20 6d 61 6e 61 67 65 72 20 6f 66 20 6e 6f 76 65 6c 20 64 65 73 69 67 6e 2e 0a 2e 50 50 0a 49 74 .manager.of.novel.design...PP.It
4920 20 68 61 73 20 61 20 63 6c 69 63 6b 2d 74 6f 2d 66 6f 63 75 73 20 62 75 74 20 6e 6f 74 20 72 61 .has.a.click-to-focus.but.not.ra
4940 69 73 65 2d 6f 6e 2d 66 6f 63 75 73 20 70 6f 6c 69 63 79 2c 20 61 20 77 69 6e 64 6f 77 20 72 65 ise-on-focus.policy,.a.window.re
4960 73 69 7a 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 6f 6e 65 sizing.mechanism.that.allows.one
4980 20 6f 72 20 6d 61 6e 79 20 65 64 67 65 73 20 6f 66 20 61 20 77 69 6e 64 6f 77 20 74 6f 20 62 65 .or.many.edges.of.a.window.to.be
49a0 20 63 68 61 6e 67 65 64 20 69 6e 20 6f 6e 65 20 61 63 74 69 6f 6e 2c 20 61 6e 64 20 61 6e 20 69 .changed.in.one.action,.and.an.i
49c0 6e 6e 6f 76 61 74 69 76 65 20 6d 65 6e 75 62 61 72 20 74 68 61 74 20 73 68 61 72 65 73 20 74 68 nnovative.menubar.that.shares.th
49e0 65 20 73 61 6d 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 20 61 73 20 74 68 65 e.same.part.of.the.screen.as.the
4a00 20 74 61 73 6b 62 61 72 2e 20 57 69 6e 64 6f 77 20 74 69 74 6c 65 62 61 72 73 20 61 72 65 20 70 .taskbar..Window.titlebars.are.p
4a20 72 65 76 65 6e 74 65 64 20 66 72 6f 6d 20 67 6f 69 6e 67 20 6f 66 66 20 74 68 65 20 65 64 67 65 revented.from.going.off.the.edge
4a40 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 20 62 79 20 63 6f 6e 73 74 72 61 69 6e 69 6e 67 20 74 .of.the.screen.by.constraining.t
4a60 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 2c 20 61 6e 64 20 77 68 65 6e 20 61 70 70 72 6f he.mouse.pointer,.and.when.appro
4a80 70 72 69 61 74 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 61 6c 73 6f 20 63 6f 6e 73 74 priate.the.pointer.is.also.const
4aa0 72 61 69 6e 65 64 20 74 6f 20 74 68 65 20 74 61 73 6b 62 61 72 2f 6d 65 6e 75 62 61 72 20 69 6e rained.to.the.taskbar/menubar.in
4ac0 20 6f 72 64 65 72 20 74 6f 20 6d 61 6b 65 20 74 61 72 67 65 74 20 6d 65 6e 75 20 69 74 65 6d 73 .order.to.make.target.menu.items
4ae0 20 65 61 73 69 65 72 20 74 6f 20 68 69 74 2e 0a 2e 50 50 0a 57 69 6e 64 6f 77 4c 61 62 20 70 6c .easier.to.hit...PP.WindowLab.pl
4b00 61 63 65 73 20 61 20 74 61 73 6b 62 61 72 20 61 74 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 aces.a.taskbar.at.the.top.of.the
4b20 20 73 63 72 65 65 6e 20 61 6e 64 20 61 64 64 73 20 61 20 74 69 74 6c 65 62 61 72 20 74 6f 20 74 .screen.and.adds.a.titlebar.to.t
4b40 68 65 20 74 6f 70 20 6f 66 20 65 61 63 68 20 77 69 6e 64 6f 77 2e 20 54 68 65 73 65 20 74 69 74 he.top.of.each.window..These.tit
4b60 6c 65 62 61 72 73 20 63 6f 6e 73 69 73 74 20 6f 66 20 61 20 64 72 61 67 67 61 62 6c 65 20 61 72 lebars.consist.of.a.draggable.ar
4b80 65 61 2c 20 61 6e 64 20 74 68 72 65 65 20 69 63 6f 6e 73 20 6f 6e 20 74 68 65 20 72 69 67 68 74 ea,.and.three.icons.on.the.right
4ba0 20 68 61 6e 64 20 73 69 64 65 2e 20 57 68 65 6e 20 6c 65 66 74 20 63 6c 69 63 6b 65 64 2c 20 74 .hand.side..When.left.clicked,.t
4bc0 68 65 73 65 20 69 63 6f 6e 73 3a 0a 2e 50 50 0a 2a 20 68 69 64 65 20 74 68 65 20 77 69 6e 64 6f hese.icons:..PP.*.hide.the.windo
4be0 77 0a 2e 62 72 0a 2a 20 74 6f 67 67 6c 65 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20 5a 20 6f 72 w..br.*.toggle.the.window's.Z.or
4c00 64 65 72 20 41 6d 69 67 61 20 73 74 79 6c 65 20 28 69 66 20 69 74 27 73 20 6e 6f 74 20 61 74 20 der.Amiga.style.(if.it's.not.at.
4c20 74 68 65 20 66 72 6f 6e 74 2c 20 62 72 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20 66 72 6f 6e 74 the.front,.bring.it.to.the.front
4c40 2c 20 6f 74 68 65 72 77 69 73 65 20 73 65 6e 64 20 69 74 20 74 6f 20 74 68 65 20 62 61 63 6b 29 ,.otherwise.send.it.to.the.back)
4c60 0a 2e 62 72 0a 2a 20 63 6c 6f 73 65 20 74 68 65 20 77 69 6e 64 6f 77 0a 2e 50 50 0a 41 6e 6f 74 ..br.*.close.the.window..PP.Anot
4c80 68 65 72 20 77 61 79 20 6f 66 20 74 6f 67 67 6c 69 6e 67 20 61 20 77 69 6e 64 6f 77 27 73 20 5a her.way.of.toggling.a.window's.Z
4ca0 20 6f 72 64 65 72 20 28 64 65 70 74 68 29 20 69 73 20 62 79 20 64 6f 75 62 6c 65 20 6c 65 66 74 .order.(depth).is.by.double.left
4cc0 20 63 6c 69 63 6b 69 6e 67 20 6f 6e 20 74 68 65 20 64 72 61 67 67 61 62 6c 65 20 70 61 72 74 20 .clicking.on.the.draggable.part.
4ce0 6f 66 20 69 74 73 20 74 69 74 6c 65 62 61 72 2e 0a 2e 50 50 0a 57 69 6e 64 6f 77 73 27 20 74 69 of.its.titlebar...PP.Windows'.ti
4d00 74 6c 65 62 61 72 73 20 61 72 65 20 70 72 65 76 65 6e 74 65 64 20 66 72 6f 6d 20 6c 65 61 76 69 tlebars.are.prevented.from.leavi
4d20 6e 67 20 74 68 65 20 73 63 72 65 65 6e 20 61 6e 64 20 63 61 6e 6e 6f 74 20 6f 76 65 72 6c 61 70 ng.the.screen.and.cannot.overlap
4d40 20 74 68 65 20 74 61 73 6b 62 61 72 2e 0a 2e 50 50 0a 54 68 65 20 74 61 73 6b 62 61 72 20 73 68 .the.taskbar...PP.The.taskbar.sh
4d60 6f 75 6c 64 20 6c 69 73 74 20 61 6c 6c 20 77 69 6e 64 6f 77 73 20 63 75 72 72 65 6e 74 6c 79 20 ould.list.all.windows.currently.
4d80 69 6e 20 75 73 65 2e 20 4c 65 66 74 20 63 6c 69 63 6b 69 6e 67 20 6f 6e 20 61 20 77 69 6e 64 6f in.use..Left.clicking.on.a.windo
4da0 77 27 73 20 74 61 73 6b 62 61 72 20 69 74 65 6d 20 77 69 6c 6c 20 67 69 76 65 20 74 68 61 74 20 w's.taskbar.item.will.give.that.
4dc0 77 69 6e 64 6f 77 20 66 6f 63 75 73 20 61 6e 64 20 74 6f 67 67 6c 65 20 69 74 73 20 5a 20 6f 72 window.focus.and.toggle.its.Z.or
4de0 64 65 72 20 28 64 65 70 74 68 29 2e 0a 2e 50 50 0a 54 6f 20 72 65 73 69 7a 65 20 74 68 65 20 61 der.(depth)...PP.To.resize.the.a
4e00 63 74 69 76 65 20 77 69 6e 64 6f 77 20 68 6f 6c 64 20 64 6f 77 6e 20 61 6c 74 20 61 6e 64 20 70 ctive.window.hold.down.alt.and.p
4e20 75 73 68 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20 65 64 67 65 73 20 77 ush.against.the.window's.edges.w
4e40 69 74 68 20 74 68 65 20 6c 65 66 74 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 64 6f 77 6e 2e 0a ith.the.left.mouse.button.down..
4e60 2e 50 50 0a 49 66 20 79 6f 75 20 72 69 67 68 74 20 63 6c 69 63 6b 20 6f 75 74 73 69 64 65 20 61 .PP.If.you.right.click.outside.a
4e80 20 63 6c 69 65 6e 74 20 77 69 6e 64 6f 77 2c 20 57 69 6e 64 6f 77 4c 61 62 27 73 20 74 61 73 6b .client.window,.WindowLab's.task
4ea0 62 61 72 20 62 65 63 6f 6d 65 73 20 61 20 6d 65 6e 75 62 61 72 2e 20 52 65 6c 65 61 73 69 6e 67 bar.becomes.a.menubar..Releasing
4ec0 20 74 68 65 20 72 69 67 68 74 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 6f 76 65 72 20 61 20 73 .the.right.mouse.button.over.a.s
4ee0 65 6c 65 63 74 65 64 20 6d 65 6e 75 20 69 74 65 6d 20 77 69 6c 6c 20 73 74 61 72 74 20 61 20 63 elected.menu.item.will.start.a.c
4f00 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 67 72 61 6d 2e 20 57 orresponding.external.program..W
4f20 69 6e 64 6f 77 4c 61 62 20 77 69 6c 6c 20 6c 6f 6f 6b 20 69 6e 20 65 61 63 68 20 6f 66 20 74 68 indowLab.will.look.in.each.of.th
4f40 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 69 6c 65 73 20 69 6e 20 74 75 72 6e 20 66 6f 72 20 64 65 e.following.files.in.turn.for.de
4f60 66 69 6e 69 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 6c 61 62 65 6c 73 20 61 6e 64 finitions.of.the.menu.labels.and
4f80 20 63 6f 6d 6d 61 6e 64 73 3a 0a 2e 50 50 0a 2a 20 7e 2f 5c 2e 77 69 6e 64 6f 77 6c 61 62 2f 77 .commands:..PP.*.~/\.windowlab/w
4fa0 69 6e 64 6f 77 6c 61 62 5c 2e 6d 65 6e 75 72 63 0a 2e 62 72 0a 2a 20 5c 2e 5c 2e 2f 65 74 63 2f indowlab\.menurc..br.*.\.\./etc/
4fc0 77 69 6e 64 6f 77 6c 61 62 5c 2e 6d 65 6e 75 72 63 20 28 66 72 6f 6d 20 74 68 65 20 64 69 72 65 windowlab\.menurc.(from.the.dire
4fe0 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 29 ctory.containing.the.executable)
5000 0a 2e 62 72 0a 2a 20 2f 65 74 63 2f 58 31 31 2f 77 69 6e 64 6f 77 6c 61 62 2f 77 69 6e 64 6f 77 ..br.*./etc/X11/windowlab/window
5020 6c 61 62 5c 2e 6d 65 6e 75 72 63 0a 2e 50 50 0a 45 61 63 68 20 6c 69 6e 65 20 69 6e 20 74 68 65 lab\.menurc..PP.Each.line.in.the
5040 20 6d 65 6e 75 72 63 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 6d 65 6e .menurc.file.should.have.the.men
5060 75 20 6c 61 62 65 6c 2c 20 61 20 63 6f 6c 6f 6e 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 63 u.label,.a.colon,.and.then.the.c
5080 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 63 6f 6d 6d 61 6e 64 2c 20 65 67 3a 0a 2e 50 50 0a 54 68 orresponding.command,.eg:..PP.Th
50a0 65 20 47 49 4d 50 3a 67 69 6d 70 0a 2e 50 50 0a 4e 65 77 20 77 69 6e 64 6f 77 73 20 28 74 68 61 e.GIMP:gimp..PP.New.windows.(tha
50c0 74 20 64 6f 6e 27 74 20 73 70 65 63 69 66 79 20 74 68 65 69 72 20 6c 6f 63 61 74 69 6f 6e 29 20 t.don't.specify.their.location).
50e0 61 72 65 20 70 6f 73 69 74 69 6f 6e 65 64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 are.positioned.according.to.the.
5100 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 20 2d 20 74 68 65 20 74 coordinates.of.the.mouse.-.the.t
5120 6f 70 2d 6c 65 66 74 20 68 61 6e 64 20 63 6f 72 6e 65 72 20 6f 66 20 61 20 6e 65 77 20 77 69 6e op-left.hand.corner.of.a.new.win
5140 64 6f 77 20 69 73 20 73 65 74 20 74 6f 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 dow.is.set.to.the.location.of.th
5160 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 28 69 66 20 6e 65 63 65 73 73 61 72 79 20 74 68 e.mouse.pointer.(if.necessary.th
5180 65 20 77 69 6e 64 6f 77 20 77 69 6c 6c 20 62 65 20 6d 6f 76 65 64 20 74 6f 20 65 6e 73 75 72 65 e.window.will.be.moved.to.ensure
51a0 20 74 68 61 74 20 61 6c 6c 20 6f 66 20 69 74 20 69 73 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e .that.all.of.it.is.on.the.screen
51c0 29 2e 0a 2e 50 50 0a 57 69 6e 64 6f 77 4c 61 62 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 )...PP.WindowLab.has.the.followi
51e0 6e 67 20 6b 65 79 62 6f 61 72 64 20 63 6f 6e 74 72 6f 6c 73 2e 20 48 6f 6c 64 20 64 6f 77 6e 20 ng.keyboard.controls..Hold.down.
5200 61 6c 74 20 61 6e 64 20 70 72 65 73 73 3a 0a 2e 50 50 0a 2a 0a 2e 42 20 74 61 62 0a 74 6f 20 67 alt.and.press:..PP.*..B.tab.to.g
5220 69 76 65 20 66 6f 63 75 73 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 77 69 6e 64 6f 77 ive.focus.to.the.previous.window
5240 0a 2e 62 72 0a 2a 0a 2e 42 20 71 0a 74 6f 20 67 69 76 65 20 66 6f 63 75 73 20 74 6f 20 74 68 65 ..br.*..B.q.to.give.focus.to.the
5260 20 6e 65 78 74 20 77 69 6e 64 6f 77 0a 2e 62 72 0a 2a 0a 2e 42 20 46 31 31 0a 74 6f 20 74 6f 67 .next.window..br.*..B.F11.to.tog
5280 67 6c 65 20 66 75 6c 6c 73 63 72 65 65 6e 20 6d 6f 64 65 20 6f 6e 20 61 6e 64 20 6f 66 66 20 66 gle.fullscreen.mode.on.and.off.f
52a0 6f 72 20 6e 6f 6e 20 74 72 61 6e 73 69 65 6e 74 20 77 69 6e 64 6f 77 73 0a 2e 62 72 0a 2a 0a 2e or.non.transient.windows..br.*..
52c0 42 20 46 31 32 0a 74 6f 20 74 6f 67 67 6c 65 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20 64 65 70 B.F12.to.toggle.the.window's.dep
52e0 74 68 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 6c 65 66 74 20 63 6c 69 th..This.is.the.same.as.left.cli
5300 63 6b 69 6e 67 20 61 20 77 69 6e 64 6f 77 27 73 20 6d 69 64 64 6c 65 20 69 63 6f 6e 0a 2e 53 48 cking.a.window's.middle.icon..SH
5320 20 4f 50 54 49 4f 4e 53 0a 2e 54 50 0a 2e 42 20 2d 66 6f 6e 74 20 5c 66 49 66 6f 6e 74 2d 73 70 .OPTIONS..TP..B.-font.\fIfont-sp
5340 65 63 5c 66 50 0a 44 72 61 77 20 77 69 6e 64 6f 77 20 74 69 74 6c 65 73 20 77 69 74 68 20 74 68 ec\fP.Draw.window.titles.with.th
5360 65 20 66 6f 6e 74 20 64 65 66 69 6e 65 64 20 62 79 0a 2e 49 52 20 66 6f 6e 74 2d 73 70 65 63 20 e.font.defined.by..IR.font-spec.
5380 2e 0a 2e 54 50 0a 2e 42 20 2d 62 6f 72 64 65 72 20 5c 66 49 63 6f 6c 6f 72 5c 66 50 2c 20 2d 74 ...TP..B.-border.\fIcolor\fP,.-t
53a0 65 78 74 20 5c 66 49 63 6f 6c 6f 72 5c 66 50 2c 20 2d 61 63 74 69 76 65 20 5c 66 49 63 6f 6c 6f ext.\fIcolor\fP,.-active.\fIcolo
53c0 72 5c 66 50 2c 20 2d 69 6e 61 63 74 69 76 65 20 5c 66 49 63 6f 6c 6f 72 5c 66 50 2c 20 2d 6d 65 r\fP,.-inactive.\fIcolor\fP,.-me
53e0 6e 75 20 5c 66 49 63 6f 6c 6f 72 5c 66 50 2c 20 2d 73 65 6c 65 63 74 65 64 20 5c 66 49 63 6f 6c nu.\fIcolor\fP,.-selected.\fIcol
5400 6f 72 5c 66 50 2c 20 2d 65 6d 70 74 79 20 5c 66 49 63 6f 6c 6f 72 5c 66 50 0a 55 73 65 0a 2e 49 or\fP,.-empty.\fIcolor\fP.Use..I
5420 20 63 6f 6c 6f 72 0a 66 6f 72 20 74 68 65 20 62 6f 72 64 65 72 73 2c 20 74 68 65 20 74 65 78 74 .color.for.the.borders,.the.text
5440 2c 20 74 68 65 20 61 63 74 69 76 65 20 62 61 63 6b 67 72 6f 75 6e 64 2c 20 74 68 65 20 69 6e 61 ,.the.active.background,.the.ina
5460 63 74 69 76 65 20 62 61 63 6b 67 72 6f 75 6e 64 2c 20 74 68 65 20 6d 65 6e 75 62 61 72 2c 20 74 ctive.background,.the.menubar,.t
5480 68 65 20 73 65 6c 65 63 74 65 64 20 6d 65 6e 75 20 69 74 65 6d 20 61 6e 64 20 65 6d 70 74 79 20 he.selected.menu.item.and.empty.
54a0 70 61 72 74 73 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 2e 0a 2e 54 50 0a 2e 42 20 2d 61 62 6f parts.of.the.screen...TP..B.-abo
54c0 75 74 0a 50 72 69 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 73 74 64 6f 75 74 20 61 ut.Print.information.to.stdout.a
54e0 6e 64 20 65 78 69 74 2e 0a 2e 54 50 0a 2e 42 20 2d 64 69 73 70 6c 61 79 0a 53 65 74 73 20 77 68 nd.exit...TP..B.-display.Sets.wh
5500 69 63 68 20 58 20 64 69 73 70 6c 61 79 20 77 69 6c 6c 20 62 65 20 6d 61 6e 61 67 65 64 20 62 79 ich.X.display.will.be.managed.by
5520 0a 2e 42 52 20 77 69 6e 64 6f 77 6c 61 62 20 2e 0a 2e 53 48 20 45 4e 56 49 52 4f 4e 4d 45 4e 54 ..BR.windowlab....SH.ENVIRONMENT
5540 20 56 41 52 49 41 42 4c 45 53 0a 2e 42 20 44 49 53 50 4c 41 59 0a 53 65 74 73 20 77 68 69 63 68 .VARIABLES..B.DISPLAY.Sets.which
5560 20 58 20 64 69 73 70 6c 61 79 20 77 69 6c 6c 20 62 65 20 6d 61 6e 61 67 65 64 20 62 79 0a 2e 42 .X.display.will.be.managed.by..B
5580 52 20 77 69 6e 64 6f 77 6c 61 62 20 2e 0a 2e 53 48 20 22 53 45 45 20 41 4c 53 4f 22 0a 2e 42 52 R.windowlab....SH."SEE.ALSO"..BR
55a0 20 58 20 28 37 29 2c 0a 2e 49 20 54 68 65 20 49 6e 74 65 72 2d 43 6c 69 65 6e 74 20 43 6f 6d 6d .X.(7),..I.The.Inter-Client.Comm
55c0 75 6e 69 63 61 74 69 6f 6e 20 43 6f 6e 76 65 6e 74 69 6f 6e 73 20 4d 61 6e 75 61 6c 20 28 66 72 unication.Conventions.Manual.(fr
55e0 6f 6d 20 74 68 65 20 58 31 31 52 36 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 29 2e 0a 2e 53 48 om.the.X11R6.documentation)...SH
5600 20 22 41 55 54 48 4f 52 22 0a 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 20 28 6d 65 20 61 74 20 ."AUTHOR".Nick.Gravgaard.(me.at.
5620 6e 69 63 6b 67 72 61 76 67 61 61 72 64 2e 63 6f 6d 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 nickgravgaard.com)..............
5640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5800 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 4c 49 43 45 4e 43 45 00 00 00 00 00 00 00 00 00 00 windowlab-1.40/LICENCE..........
5820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
5880 30 30 34 33 30 37 31 00 31 31 32 35 35 34 37 33 33 33 32 00 30 31 33 30 35 35 00 20 30 00 00 00 0043071.11255473332.013055..0...
58a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5900 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
5920 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
5940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a00 09 09 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 ......GNU.GENERAL.PUBLIC.LICENSE
5a20 0a 09 09 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 32 2c 20 4a 75 6e 65 20 31 39 39 31 0a 0a ..........Version.2,.June.1991..
5a40 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 39 2c 20 31 39 39 31 20 46 72 65 65 20 53 .Copyright.(C).1989,.1991.Free.S
5a60 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 20 20 20 20 20 20 20 oftware.Foundation,.Inc.........
5a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 36 37 35 20 4d 61 73 73 20 41 76 65 2c ...................675.Mass.Ave,
5aa0 20 43 61 6d 62 72 69 64 67 65 2c 20 4d 41 20 30 32 31 33 39 2c 20 55 53 41 0a 20 45 76 65 72 79 .Cambridge,.MA.02139,.USA..Every
5ac0 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 one.is.permitted.to.copy.and.dis
5ae0 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 6f 66 20 74 68 69 73 tribute.verbatim.copies..of.this
5b00 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 .license.document,.but.changing.
5b20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 09 09 09 20 20 20 20 50 72 65 61 6d it.is.not.allowed..........Pream
5b40 62 6c 65 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 ble....The.licenses.for.most.sof
5b60 74 77 61 72 65 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 74 61 6b 65 20 61 77 61 79 20 tware.are.designed.to.take.away.
5b80 79 6f 75 72 0a 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 your.freedom.to.share.and.change
5ba0 20 69 74 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 .it...By.contrast,.the.GNU.Gener
5bc0 61 6c 20 50 75 62 6c 69 63 0a 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f al.Public.License.is.intended.to
5be0 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 .guarantee.your.freedom.to.share
5c00 20 61 6e 64 20 63 68 61 6e 67 65 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 2d 2d 74 6f 20 6d 61 .and.change.free.software--to.ma
5c20 6b 65 20 73 75 72 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 66 72 65 65 20 66 6f 72 ke.sure.the.software.is.free.for
5c40 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e 20 20 54 68 69 73 0a 47 65 6e 65 72 61 6c 20 50 75 .all.its.users...This.General.Pu
5c60 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 6d 6f 73 74 20 6f 66 20 blic.License.applies.to.most.of.
5c80 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 27 73 20 73 the.Free.Software.Foundation's.s
5ca0 6f 66 74 77 61 72 65 20 61 6e 64 20 74 6f 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d oftware.and.to.any.other.program
5cc0 20 77 68 6f 73 65 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d 69 74 20 74 6f 0a 75 73 69 6e 67 20 69 .whose.authors.commit.to.using.i
5ce0 74 2e 20 20 28 53 6f 6d 65 20 6f 74 68 65 72 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f t...(Some.other.Free.Software.Fo
5d00 75 6e 64 61 74 69 6f 6e 20 73 6f 66 74 77 61 72 65 20 69 73 20 63 6f 76 65 72 65 64 20 62 79 0a undation.software.is.covered.by.
5d20 74 68 65 20 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c the.GNU.Library.General.Public.L
5d40 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 2e 29 20 20 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 icense.instead.)..You.can.apply.
5d60 69 74 20 74 6f 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 it.to.your.programs,.too.....Whe
5d80 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 n.we.speak.of.free.software,.we.
5da0 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 are.referring.to.freedom,.not.pr
5dc0 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 ice...Our.General.Public.License
5de0 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 s.are.designed.to.make.sure.that
5e00 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 .you.have.the.freedom.to.distrib
5e20 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 ute.copies.of.free.software.(and
5e40 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 69 73 20 73 65 72 76 69 63 65 20 69 66 20 79 6f 75 20 .charge.for.this.service.if.you.
5e60 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 65 20 73 6f 75 72 63 65 20 63 wish),.that.you.receive.source.c
5e80 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 0a 69 66 20 79 6f 75 20 77 61 6e 74 20 69 74 ode.or.can.get.it.if.you.want.it
5ea0 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 ,.that.you.can.change.the.softwa
5ec0 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 69 74 0a 69 6e 20 6e 65 77 20 66 72 re.or.use.pieces.of.it.in.new.fr
5ee0 65 65 20 70 72 6f 67 72 61 6d 73 3b 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 ee.programs;.and.that.you.know.y
5f00 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 2e 0a 0a 20 20 54 6f 20 70 72 ou.can.do.these.things.....To.pr
5f20 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 61 otect.your.rights,.we.need.to.ma
5f40 6b 65 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 74 68 61 74 20 66 6f 72 62 69 64 0a 61 6e 79 6f ke.restrictions.that.forbid.anyo
5f60 6e 65 20 74 6f 20 64 65 6e 79 20 79 6f 75 20 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 74 ne.to.deny.you.these.rights.or.t
5f80 6f 20 61 73 6b 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 o.ask.you.to.surrender.the.right
5fa0 73 2e 0a 54 68 65 73 65 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 74 72 61 6e 73 6c 61 74 65 20 s..These.restrictions.translate.
5fc0 74 6f 20 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 66 6f 72 20 to.certain.responsibilities.for.
5fe0 79 6f 75 20 69 66 20 79 6f 75 0a 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 you.if.you.distribute.copies.of.
6000 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 20 79 6f 75 20 6d 6f 64 69 66 79 20 69 the.software,.or.if.you.modify.i
6020 74 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 t.....For.example,.if.you.distri
6040 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 bute.copies.of.such.a.program,.w
6060 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 hether.gratis.or.for.a.fee,.you.
6080 6d 75 73 74 20 67 69 76 65 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 61 6c 6c 20 74 68 65 must.give.the.recipients.all.the
60a0 20 72 69 67 68 74 73 20 74 68 61 74 0a 79 6f 75 20 68 61 76 65 2e 20 20 59 6f 75 20 6d 75 73 74 .rights.that.you.have...You.must
60c0 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 2c 20 74 6f 6f 2c 20 72 65 63 65 69 .make.sure.that.they,.too,.recei
60e0 76 65 20 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 0a 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 ve.or.can.get.the.source.code...
6100 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 65 6d 20 74 68 65 73 65 20 74 65 72 And.you.must.show.them.these.ter
6120 6d 73 20 73 6f 20 74 68 65 79 20 6b 6e 6f 77 20 74 68 65 69 72 0a 72 69 67 68 74 73 2e 0a 0a 20 ms.so.they.know.their.rights....
6140 20 57 65 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 20 77 69 74 68 20 74 77 6f .We.protect.your.rights.with.two
6160 20 73 74 65 70 73 3a 20 28 31 29 20 63 6f 70 79 72 69 67 68 74 20 74 68 65 20 73 6f 66 74 77 61 .steps:.(1).copyright.the.softwa
6180 72 65 2c 20 61 6e 64 0a 28 32 29 20 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 6c 69 63 65 6e re,.and.(2).offer.you.this.licen
61a0 73 65 20 77 68 69 63 68 20 67 69 76 65 73 20 79 6f 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 se.which.gives.you.legal.permiss
61c0 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d ion.to.copy,.distribute.and/or.m
61e0 6f 64 69 66 79 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 0a 0a 20 20 41 6c 73 6f 2c 20 66 6f 72 odify.the.software.....Also,.for
6200 20 65 61 63 68 20 61 75 74 68 6f 72 27 73 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 6e 64 20 6f 75 .each.author's.protection.and.ou
6220 72 73 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 63 65 72 74 61 69 6e 0a 74 68 61 74 rs,.we.want.to.make.certain.that
6240 20 65 76 65 72 79 6f 6e 65 20 75 6e 64 65 72 73 74 61 6e 64 73 20 74 68 61 74 20 74 68 65 72 65 .everyone.understands.that.there
6260 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 69 73 20 66 72 65 65 0a 73 6f .is.no.warranty.for.this.free.so
6280 66 74 77 61 72 65 2e 20 20 49 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 6d 6f 64 69 ftware...If.the.software.is.modi
62a0 66 69 65 64 20 62 79 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 65 20 61 6e 64 20 70 61 73 73 65 64 20 fied.by.someone.else.and.passed.
62c0 6f 6e 2c 20 77 65 0a 77 61 6e 74 20 69 74 73 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 6b 6e on,.we.want.its.recipients.to.kn
62e0 6f 77 20 74 68 61 74 20 77 68 61 74 20 74 68 65 79 20 68 61 76 65 20 69 73 20 6e 6f 74 20 74 68 ow.that.what.they.have.is.not.th
6300 65 20 6f 72 69 67 69 6e 61 6c 2c 20 73 6f 0a 74 68 61 74 20 61 6e 79 20 70 72 6f 62 6c 65 6d 73 e.original,.so.that.any.problems
6320 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 6f 74 68 65 72 73 20 77 69 6c 6c 20 6e 6f 74 20 72 .introduced.by.others.will.not.r
6340 65 66 6c 65 63 74 20 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 61 75 74 68 6f 72 73 27 20 eflect.on.the.original.authors'.
6360 72 65 70 75 74 61 74 69 6f 6e 73 2e 0a 0a 20 20 46 69 6e 61 6c 6c 79 2c 20 61 6e 79 20 66 72 65 reputations.....Finally,.any.fre
6380 65 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e 65 64 20 63 6f 6e 73 74 61 6e 74 e.program.is.threatened.constant
63a0 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 0a 70 61 74 65 6e 74 73 2e 20 20 57 65 20 77 69 73 68 ly.by.software.patents...We.wish
63c0 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 64 61 6e 67 65 72 20 74 68 61 74 20 72 65 64 69 73 74 .to.avoid.the.danger.that.redist
63e0 72 69 62 75 74 6f 72 73 20 6f 66 20 61 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 ributors.of.a.free.program.will.
6400 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6f 62 74 61 69 6e 20 70 61 74 65 6e 74 20 6c 69 63 65 6e individually.obtain.patent.licen
6420 73 65 73 2c 20 69 6e 20 65 66 66 65 63 74 20 6d 61 6b 69 6e 67 20 74 68 65 0a 70 72 6f 67 72 61 ses,.in.effect.making.the.progra
6440 6d 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 65 6e 74 20 74 68 69 73 2c m.proprietary...To.prevent.this,
6460 20 77 65 20 68 61 76 65 20 6d 61 64 65 20 69 74 20 63 6c 65 61 72 20 74 68 61 74 20 61 6e 79 0a .we.have.made.it.clear.that.any.
6480 70 61 74 65 6e 74 20 6d 75 73 74 20 62 65 20 6c 69 63 65 6e 73 65 64 20 66 6f 72 20 65 76 65 72 patent.must.be.licensed.for.ever
64a0 79 6f 6e 65 27 73 20 66 72 65 65 20 75 73 65 20 6f 72 20 6e 6f 74 20 6c 69 63 65 6e 73 65 64 20 yone's.free.use.or.not.licensed.
64c0 61 74 20 61 6c 6c 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 73 65 20 74 65 72 6d 73 20 61 6e 64 at.all.....The.precise.terms.and
64e0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 .conditions.for.copying,.distrib
6500 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a ution.and.modification.follow...
6520 09 09 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 ......GNU.GENERAL.PUBLIC.LICENSE
6540 0a 20 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 20 46 4f 52 20 43 4f 50 ....TERMS.AND.CONDITIONS.FOR.COP
6560 59 49 4e 47 2c 20 44 49 53 54 52 49 42 55 54 49 4f 4e 20 41 4e 44 20 4d 4f 44 49 46 49 43 41 54 YING,.DISTRIBUTION.AND.MODIFICAT
6580 49 4f 4e 0a 0a 20 20 30 2e 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 ION....0..This.License.applies.t
65a0 6f 20 61 6e 79 20 70 72 6f 67 72 61 6d 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 20 77 68 69 63 o.any.program.or.other.work.whic
65c0 68 20 63 6f 6e 74 61 69 6e 73 0a 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 68 h.contains.a.notice.placed.by.th
65e0 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 6d 61 79 e.copyright.holder.saying.it.may
6600 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 .be.distributed.under.the.terms.
6620 6f 66 20 74 68 69 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 of.this.General.Public.License..
6640 20 54 68 65 20 22 50 72 6f 67 72 61 6d 22 2c 20 62 65 6c 6f 77 2c 0a 72 65 66 65 72 73 20 74 6f .The."Program",.below,.refers.to
6660 20 61 6e 79 20 73 75 63 68 20 70 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 2c 20 61 6e 64 20 61 .any.such.program.or.work,.and.a
6680 20 22 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 22 0a 6d 65 61 ."work.based.on.the.Program".mea
66a0 6e 73 20 65 69 74 68 65 72 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 64 65 72 ns.either.the.Program.or.any.der
66c0 69 76 61 74 69 76 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 ivative.work.under.copyright.law
66e0 3a 0a 74 68 61 74 20 69 73 20 74 6f 20 73 61 79 2c 20 61 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e :.that.is.to.say,.a.work.contain
6700 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 ing.the.Program.or.a.portion.of.
6720 69 74 2c 0a 65 69 74 68 65 72 20 76 65 72 62 61 74 69 6d 20 6f 72 20 77 69 74 68 20 6d 6f 64 69 it,.either.verbatim.or.with.modi
6740 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f fications.and/or.translated.into
6760 20 61 6e 6f 74 68 65 72 0a 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 69 6e 61 66 74 65 72 .another.language...(Hereinafter
6780 2c 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 69 73 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 6f 75 ,.translation.is.included.withou
67a0 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 69 6e 0a 74 68 65 20 74 65 72 6d 20 22 6d 6f 64 69 66 69 t.limitation.in.the.term."modifi
67c0 63 61 74 69 6f 6e 22 2e 29 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 cation".)..Each.licensee.is.addr
67e0 65 73 73 65 64 20 61 73 20 22 79 6f 75 22 2e 0a 0a 41 63 74 69 76 69 74 69 65 73 20 6f 74 68 65 essed.as."you"...Activities.othe
6800 72 20 74 68 61 6e 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 r.than.copying,.distribution.and
6820 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 0a 63 6f 76 65 72 65 64 20 62 79 .modification.are.not.covered.by
6840 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 74 68 65 79 20 61 72 65 20 6f 75 74 73 69 64 65 20 .this.License;.they.are.outside.
6860 69 74 73 20 73 63 6f 70 65 2e 20 20 54 68 65 20 61 63 74 20 6f 66 0a 72 75 6e 6e 69 6e 67 20 74 its.scope...The.act.of.running.t
6880 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 73 74 72 69 63 74 65 64 2c 20 61 6e he.Program.is.not.restricted,.an
68a0 64 20 74 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 69 73 d.the.output.from.the.Program.is
68c0 20 63 6f 76 65 72 65 64 20 6f 6e 6c 79 20 69 66 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 63 6f .covered.only.if.its.contents.co
68e0 6e 73 74 69 74 75 74 65 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f nstitute.a.work.based.on.the.Pro
6900 67 72 61 6d 20 28 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 68 61 76 69 6e 67 20 62 65 65 6e gram.(independent.of.having.been
6920 20 6d 61 64 65 20 62 79 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 29 2e 0a 57 .made.by.running.the.Program)..W
6940 68 65 74 68 65 72 20 74 68 61 74 20 69 73 20 74 72 75 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 hether.that.is.true.depends.on.w
6960 68 61 74 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 2e 0a 0a 20 20 31 2e 20 59 6f 75 20 hat.the.Program.does.....1..You.
6980 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d may.copy.and.distribute.verbatim
69a0 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 0a 73 6f 75 72 63 65 20 .copies.of.the.Program's.source.
69c0 63 6f 64 65 20 61 73 20 79 6f 75 20 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d code.as.you.receive.it,.in.any.m
69e0 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 0a 63 6f 6e 73 70 69 63 edium,.provided.that.you.conspic
6a00 75 6f 75 73 6c 79 20 61 6e 64 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 uously.and.appropriately.publish
6a20 20 6f 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 63 6f 70 .on.each.copy.an.appropriate.cop
6a40 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 yright.notice.and.disclaimer.of.
6a60 77 61 72 72 61 6e 74 79 3b 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 74 68 65 0a 6e 6f warranty;.keep.intact.all.the.no
6a80 74 69 63 65 73 20 74 68 61 74 20 72 65 66 65 72 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 tices.that.refer.to.this.License
6aa0 20 61 6e 64 20 74 6f 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 .and.to.the.absence.of.any.warra
6ac0 6e 74 79 3b 0a 61 6e 64 20 67 69 76 65 20 61 6e 79 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 6e nty;.and.give.any.other.recipien
6ae0 74 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 ts.of.the.Program.a.copy.of.this
6b00 20 4c 69 63 65 6e 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e .License.along.with.the.Program.
6b20 0a 0a 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 61 20 66 65 65 20 66 6f 72 20 74 68 65 20 70 ..You.may.charge.a.fee.for.the.p
6b40 68 79 73 69 63 61 6c 20 61 63 74 20 6f 66 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 61 20 63 6f hysical.act.of.transferring.a.co
6b60 70 79 2c 20 61 6e 64 0a 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 20 6f py,.and.you.may.at.your.option.o
6b80 66 66 65 72 20 77 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 69 6e 20 65 78 63 68 ffer.warranty.protection.in.exch
6ba0 61 6e 67 65 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 32 2e 20 59 6f 75 20 6d 61 79 20 6d 6f ange.for.a.fee.....2..You.may.mo
6bc0 64 69 66 79 20 79 6f 75 72 20 63 6f 70 79 20 6f 72 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 dify.your.copy.or.copies.of.the.
6be0 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0a 6f 66 20 69 74 2c 20 74 68 Program.or.any.portion.of.it,.th
6c00 75 73 20 66 6f 72 6d 69 6e 67 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 us.forming.a.work.based.on.the.P
6c20 72 6f 67 72 61 6d 2c 20 61 6e 64 20 63 6f 70 79 20 61 6e 64 0a 64 69 73 74 72 69 62 75 74 65 20 rogram,.and.copy.and.distribute.
6c40 73 75 63 68 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 72 20 77 6f 72 6b 20 75 6e 64 65 72 such.modifications.or.work.under
6c60 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 20 31 0a 61 62 6f 76 65 2c 20 70 .the.terms.of.Section.1.above,.p
6c80 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f rovided.that.you.also.meet.all.o
6ca0 66 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 59 6f 75 20 f.these.conditions:......a).You.
6cc0 6d 75 73 74 20 63 61 75 73 65 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 74 6f must.cause.the.modified.files.to
6ce0 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 73 74 61 .carry.prominent.notices.....sta
6d00 74 69 6e 67 20 74 68 61 74 20 79 6f 75 20 63 68 61 6e 67 65 64 20 74 68 65 20 66 69 6c 65 73 20 ting.that.you.changed.the.files.
6d20 61 6e 64 20 74 68 65 20 64 61 74 65 20 6f 66 20 61 6e 79 20 63 68 61 6e 67 65 2e 0a 0a 20 20 20 and.the.date.of.any.change......
6d40 20 62 29 20 59 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 61 6e 79 20 77 6f 72 6b 20 74 68 61 74 .b).You.must.cause.any.work.that
6d60 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 70 75 62 6c 69 73 68 2c 20 74 68 61 74 .you.distribute.or.publish,.that
6d80 20 69 6e 0a 20 20 20 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 63 6f 6e 74 61 69 6e .in.....whole.or.in.part.contain
6da0 73 20 6f 72 20 69 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d s.or.is.derived.from.the.Program
6dc0 20 6f 72 20 61 6e 79 0a 20 20 20 20 70 61 72 74 20 74 68 65 72 65 6f 66 2c 20 74 6f 20 62 65 20 .or.any.....part.thereof,.to.be.
6de0 6c 69 63 65 6e 73 65 64 20 61 73 20 61 20 77 68 6f 6c 65 20 61 74 20 6e 6f 20 63 68 61 72 67 65 licensed.as.a.whole.at.no.charge
6e00 20 74 6f 20 61 6c 6c 20 74 68 69 72 64 0a 20 20 20 20 70 61 72 74 69 65 73 20 75 6e 64 65 72 20 .to.all.third.....parties.under.
6e20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 the.terms.of.this.License.......
6e40 63 29 20 49 66 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 67 72 61 6d 20 6e 6f 72 6d 61 c).If.the.modified.program.norma
6e60 6c 6c 79 20 72 65 61 64 73 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 lly.reads.commands.interactively
6e80 0a 20 20 20 20 77 68 65 6e 20 72 75 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 69 74 .....when.run,.you.must.cause.it
6ea0 2c 20 77 68 65 6e 20 73 74 61 72 74 65 64 20 72 75 6e 6e 69 6e 67 20 66 6f 72 20 73 75 63 68 0a ,.when.started.running.for.such.
6ec0 20 20 20 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 20 69 6e 20 74 68 65 20 6d 6f 73 74 20 ....interactive.use.in.the.most.
6ee0 6f 72 64 69 6e 61 72 79 20 77 61 79 2c 20 74 6f 20 70 72 69 6e 74 20 6f 72 20 64 69 73 70 6c 61 ordinary.way,.to.print.or.displa
6f00 79 20 61 6e 0a 20 20 20 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 20 69 6e 63 6c 75 64 69 6e 67 20 y.an.....announcement.including.
6f20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 an.appropriate.copyright.notice.
6f40 61 6e 64 20 61 0a 20 20 20 20 6e 6f 74 69 63 65 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e and.a.....notice.that.there.is.n
6f60 6f 20 77 61 72 72 61 6e 74 79 20 28 6f 72 20 65 6c 73 65 2c 20 73 61 79 69 6e 67 20 74 68 61 74 o.warranty.(or.else,.saying.that
6f80 20 79 6f 75 20 70 72 6f 76 69 64 65 0a 20 20 20 20 61 20 77 61 72 72 61 6e 74 79 29 20 61 6e 64 .you.provide.....a.warranty).and
6fa0 20 74 68 61 74 20 75 73 65 72 73 20 6d 61 79 20 72 65 64 69 73 74 72 69 62 75 74 65 20 74 68 65 .that.users.may.redistribute.the
6fc0 20 70 72 6f 67 72 61 6d 20 75 6e 64 65 72 0a 20 20 20 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 .program.under.....these.conditi
6fe0 6f 6e 73 2c 20 61 6e 64 20 74 65 6c 6c 69 6e 67 20 74 68 65 20 75 73 65 72 20 68 6f 77 20 74 6f ons,.and.telling.the.user.how.to
7000 20 76 69 65 77 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 .view.a.copy.of.this.....License
7020 2e 20 20 28 45 78 63 65 70 74 69 6f 6e 3a 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 74 ...(Exception:.if.the.Program.it
7040 73 65 6c 66 20 69 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 62 75 74 0a 20 20 20 20 64 6f 65 73 self.is.interactive.but.....does
7060 20 6e 6f 74 20 6e 6f 72 6d 61 6c 6c 79 20 70 72 69 6e 74 20 73 75 63 68 20 61 6e 20 61 6e 6e 6f .not.normally.print.such.an.anno
7080 75 6e 63 65 6d 65 6e 74 2c 20 79 6f 75 72 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 0a 20 20 20 uncement,.your.work.based.on....
70a0 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 .the.Program.is.not.required.to.
70c0 70 72 69 6e 74 20 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 2e 29 0a 0a 54 68 65 73 65 20 72 print.an.announcement.)..These.r
70e0 65 71 75 69 72 65 6d 65 6e 74 73 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6d 6f 64 69 66 69 65 equirements.apply.to.the.modifie
7100 64 20 77 6f 72 6b 20 61 73 20 61 20 77 68 6f 6c 65 2e 20 20 49 66 0a 69 64 65 6e 74 69 66 69 61 d.work.as.a.whole...If.identifia
7120 62 6c 65 20 73 65 63 74 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 77 6f 72 6b 20 61 72 65 20 6e 6f ble.sections.of.that.work.are.no
7140 74 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 0a 61 6e 64 20 t.derived.from.the.Program,.and.
7160 63 61 6e 20 62 65 20 72 65 61 73 6f 6e 61 62 6c 79 20 63 6f 6e 73 69 64 65 72 65 64 20 69 6e 64 can.be.reasonably.considered.ind
7180 65 70 65 6e 64 65 6e 74 20 61 6e 64 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 20 69 6e 0a 74 ependent.and.separate.works.in.t
71a0 68 65 6d 73 65 6c 76 65 73 2c 20 74 68 65 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e hemselves,.then.this.License,.an
71c0 64 20 69 74 73 20 74 65 72 6d 73 2c 20 64 6f 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f d.its.terms,.do.not.apply.to.tho
71e0 73 65 0a 73 65 63 74 69 6f 6e 73 20 77 68 65 6e 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 se.sections.when.you.distribute.
7200 74 68 65 6d 20 61 73 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 2e 20 20 42 75 74 20 77 68 65 them.as.separate.works...But.whe
7220 6e 20 79 6f 75 0a 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 73 61 6d 65 20 73 65 63 74 69 6f n.you.distribute.the.same.sectio
7240 6e 73 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 77 68 6f 6c 65 20 77 68 69 63 68 20 69 73 20 61 ns.as.part.of.a.whole.which.is.a
7260 20 77 6f 72 6b 20 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 .work.based.on.the.Program,.the.
7280 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 6d 75 73 74 20 62 distribution.of.the.whole.must.b
72a0 65 20 6f 6e 20 74 68 65 20 74 65 72 6d 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 e.on.the.terms.of.this.License,.
72c0 77 68 6f 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 6c 69 63 65 whose.permissions.for.other.lice
72e0 6e 73 65 65 73 20 65 78 74 65 6e 64 20 74 6f 20 74 68 65 0a 65 6e 74 69 72 65 20 77 68 6f 6c 65 nsees.extend.to.the.entire.whole
7300 2c 20 61 6e 64 20 74 68 75 73 20 74 6f 20 65 61 63 68 20 61 6e 64 20 65 76 65 72 79 20 70 61 72 ,.and.thus.to.each.and.every.par
7320 74 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 6f 20 77 72 6f 74 65 20 69 74 2e 0a 0a 54 t.regardless.of.who.wrote.it...T
7340 68 75 73 2c 20 69 74 20 69 73 20 6e 6f 74 20 74 68 65 20 69 6e 74 65 6e 74 20 6f 66 20 74 68 69 hus,.it.is.not.the.intent.of.thi
7360 73 20 73 65 63 74 69 6f 6e 20 74 6f 20 63 6c 61 69 6d 20 72 69 67 68 74 73 20 6f 72 20 63 6f 6e s.section.to.claim.rights.or.con
7380 74 65 73 74 0a 79 6f 75 72 20 72 69 67 68 74 73 20 74 6f 20 77 6f 72 6b 20 77 72 69 74 74 65 6e test.your.rights.to.work.written
73a0 20 65 6e 74 69 72 65 6c 79 20 62 79 20 79 6f 75 3b 20 72 61 74 68 65 72 2c 20 74 68 65 20 69 6e .entirely.by.you;.rather,.the.in
73c0 74 65 6e 74 20 69 73 20 74 6f 0a 65 78 65 72 63 69 73 65 20 74 68 65 20 72 69 67 68 74 20 74 6f tent.is.to.exercise.the.right.to
73e0 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 64 65 72 .control.the.distribution.of.der
7400 69 76 61 74 69 76 65 20 6f 72 0a 63 6f 6c 6c 65 63 74 69 76 65 20 77 6f 72 6b 73 20 62 61 73 65 ivative.or.collective.works.base
7420 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 d.on.the.Program...In.addition,.
7440 6d 65 72 65 20 61 67 67 72 65 67 61 74 69 6f 6e 20 6f 66 20 61 6e 6f 74 68 65 72 20 77 6f 72 6b mere.aggregation.of.another.work
7460 20 6e 6f 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 77 69 74 68 20 74 .not.based.on.the.Program.with.t
7480 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 77 69 74 68 20 61 20 77 6f 72 6b 20 62 61 73 65 64 he.Program.(or.with.a.work.based
74a0 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 29 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 0a .on.the.Program).on.a.volume.of.
74c0 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d a.storage.or.distribution.medium
74e0 20 64 6f 65 73 20 6e 6f 74 20 62 72 69 6e 67 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 20 75 .does.not.bring.the.other.work.u
7500 6e 64 65 72 0a 74 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a nder.the.scope.of.this.License..
7520 0a 20 20 33 2e 20 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 ...3..You.may.copy.and.distribut
7540 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f e.the.Program.(or.a.work.based.o
7560 6e 20 69 74 2c 0a 75 6e 64 65 72 20 53 65 63 74 69 6f 6e 20 32 29 20 69 6e 20 6f 62 6a 65 63 74 n.it,.under.Section.2).in.object
7580 20 63 6f 64 65 20 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 .code.or.executable.form.under.t
75a0 68 65 20 74 65 72 6d 73 20 6f 66 0a 53 65 63 74 69 6f 6e 73 20 31 20 61 6e 64 20 32 20 61 62 6f he.terms.of.Sections.1.and.2.abo
75c0 76 65 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 64 6f 20 6f 6e 65 ve.provided.that.you.also.do.one
75e0 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 61 29 20 41 63 63 6f 6d .of.the.following:......a).Accom
7600 70 61 6e 79 20 69 74 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 63 6f 72 72 65 73 pany.it.with.the.complete.corres
7620 70 6f 6e 64 69 6e 67 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 73 6f 75 ponding.machine-readable.....sou
7640 72 63 65 20 63 6f 64 65 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 64 69 73 74 72 69 62 75 rce.code,.which.must.be.distribu
7660 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 0a ted.under.the.terms.of.Sections.
7680 20 20 20 20 31 20 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 20 63 75 ....1.and.2.above.on.a.medium.cu
76a0 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 stomarily.used.for.software.inte
76c0 72 63 68 61 6e 67 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 62 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 rchange;.or,......b).Accompany.i
76e0 74 20 77 69 74 68 20 61 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f t.with.a.written.offer,.valid.fo
7700 72 20 61 74 20 6c 65 61 73 74 20 74 68 72 65 65 0a 20 20 20 20 79 65 61 72 73 2c 20 74 6f 20 67 r.at.least.three.....years,.to.g
7720 69 76 65 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 2c 20 66 6f 72 20 61 20 63 68 61 72 67 ive.any.third.party,.for.a.charg
7740 65 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 0a 20 20 20 20 63 6f 73 74 20 6f 66 20 e.no.more.than.your.....cost.of.
7760 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 73 6f 75 72 63 65 20 64 69 73 physically.performing.source.dis
7780 74 72 69 62 75 74 69 6f 6e 2c 20 61 20 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 6d 61 63 68 69 6e tribution,.a.complete.....machin
77a0 65 2d 72 65 61 64 61 62 6c 65 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e e-readable.copy.of.the.correspon
77c0 64 69 6e 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 74 6f 20 62 65 0a 20 20 20 20 64 69 73 74 ding.source.code,.to.be.....dist
77e0 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 ributed.under.the.terms.of.Secti
7800 6f 6e 73 20 31 20 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 0a 20 20 ons.1.and.2.above.on.a.medium...
7820 20 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 ..customarily.used.for.software.
7840 69 6e 74 65 72 63 68 61 6e 67 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 63 29 20 41 63 63 6f 6d 70 61 interchange;.or,......c).Accompa
7860 6e 79 20 69 74 20 77 69 74 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 79 6f 75 20 72 ny.it.with.the.information.you.r
7880 65 63 65 69 76 65 64 20 61 73 20 74 6f 20 74 68 65 20 6f 66 66 65 72 0a 20 20 20 20 74 6f 20 64 eceived.as.to.the.offer.....to.d
78a0 69 73 74 72 69 62 75 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 istribute.corresponding.source.c
78c0 6f 64 65 2e 20 20 28 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0a 20 20 20 20 61 ode...(This.alternative.is.....a
78e0 6c 6c 6f 77 65 64 20 6f 6e 6c 79 20 66 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 20 64 69 llowed.only.for.noncommercial.di
7900 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0a 20 20 20 20 72 stribution.and.only.if.you.....r
7920 65 63 65 69 76 65 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f eceived.the.program.in.object.co
7940 64 65 20 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 77 69 74 68 20 73 75 63 68 0a de.or.executable.form.with.such.
7960 20 20 20 20 61 6e 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 53 75 62 ....an.offer,.in.accord.with.Sub
7980 73 65 63 74 69 6f 6e 20 62 20 61 62 6f 76 65 2e 29 0a 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f section.b.above.)..The.source.co
79a0 64 65 20 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 de.for.a.work.means.the.preferre
79c0 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 6f 72 0a 6d 61 6b 69 6e 67 20 6d 6f d.form.of.the.work.for.making.mo
79e0 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 46 6f 72 20 61 6e 20 65 78 65 63 75 difications.to.it...For.an.execu
7a00 74 61 62 6c 65 20 77 6f 72 6b 2c 20 63 6f 6d 70 6c 65 74 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 table.work,.complete.source.code
7a20 20 6d 65 61 6e 73 20 61 6c 6c 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 61 .means.all.the.source.code.for.a
7a40 6c 6c 20 6d 6f 64 75 6c 65 73 20 69 74 20 63 6f 6e 74 61 69 6e 73 2c 20 70 6c 75 73 20 61 6e 79 ll.modules.it.contains,.plus.any
7a60 0a 61 73 73 6f 63 69 61 74 65 64 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e .associated.interface.definition
7a80 20 66 69 6c 65 73 2c 20 70 6c 75 73 20 74 68 65 20 73 63 72 69 70 74 73 20 75 73 65 64 20 74 6f .files,.plus.the.scripts.used.to
7aa0 0a 63 6f 6e 74 72 6f 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c 6c .control.compilation.and.install
7ac0 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 48 6f 77 65 76 65 ation.of.the.executable...Howeve
7ae0 72 2c 20 61 73 20 61 0a 73 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e 2c 20 74 68 65 20 73 r,.as.a.special.exception,.the.s
7b00 6f 75 72 63 65 20 63 6f 64 65 20 64 69 73 74 72 69 62 75 74 65 64 20 6e 65 65 64 20 6e 6f 74 20 ource.code.distributed.need.not.
7b20 69 6e 63 6c 75 64 65 0a 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c include.anything.that.is.normall
7b40 79 20 64 69 73 74 72 69 62 75 74 65 64 20 28 69 6e 20 65 69 74 68 65 72 20 73 6f 75 72 63 65 20 y.distributed.(in.either.source.
7b60 6f 72 20 62 69 6e 61 72 79 0a 66 6f 72 6d 29 20 77 69 74 68 20 74 68 65 20 6d 61 6a 6f 72 20 63 or.binary.form).with.the.major.c
7b80 6f 6d 70 6f 6e 65 6e 74 73 20 28 63 6f 6d 70 69 6c 65 72 2c 20 6b 65 72 6e 65 6c 2c 20 61 6e 64 omponents.(compiler,.kernel,.and
7ba0 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 .so.on).of.the.operating.system.
7bc0 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 72 75 6e 73 2c 20 75 6e on.which.the.executable.runs,.un
7be0 6c 65 73 73 20 74 68 61 74 20 63 6f 6d 70 6f 6e 65 6e 74 0a 69 74 73 65 6c 66 20 61 63 63 6f 6d less.that.component.itself.accom
7c00 70 61 6e 69 65 73 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 0a 49 66 20 64 69 73 74 72 panies.the.executable...If.distr
7c20 69 62 75 74 69 6f 6e 20 6f 66 20 65 78 65 63 75 74 61 62 6c 65 20 6f 72 20 6f 62 6a 65 63 74 20 ibution.of.executable.or.object.
7c40 63 6f 64 65 20 69 73 20 6d 61 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 0a 61 63 63 65 73 73 20 code.is.made.by.offering.access.
7c60 74 6f 20 63 6f 70 79 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 20 70 6c 61 63 65 2c to.copy.from.a.designated.place,
7c80 20 74 68 65 6e 20 6f 66 66 65 72 69 6e 67 20 65 71 75 69 76 61 6c 65 6e 74 0a 61 63 63 65 73 73 .then.offering.equivalent.access
7ca0 20 74 6f 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 .to.copy.the.source.code.from.th
7cc0 65 20 73 61 6d 65 20 70 6c 61 63 65 20 63 6f 75 6e 74 73 20 61 73 0a 64 69 73 74 72 69 62 75 74 e.same.place.counts.as.distribut
7ce0 69 6f 6e 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 65 76 65 6e 20 74 68 6f ion.of.the.source.code,.even.tho
7d00 75 67 68 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 61 72 65 20 6e 6f 74 0a 63 6f 6d 70 65 6c ugh.third.parties.are.not.compel
7d20 6c 65 64 20 74 6f 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 led.to.copy.the.source.along.wit
7d40 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0a 0a 20 20 34 2e 20 59 6f 75 20 6d 61 79 h.the.object.code.....4..You.may
7d60 20 6e 6f 74 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f .not.copy,.modify,.sublicense,.o
7d80 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 65 78 63 65 70 74 20 r.distribute.the.Program.except.
7da0 61 73 20 65 78 70 72 65 73 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 as.expressly.provided.under.this
7dc0 20 4c 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 6f 74 68 65 72 77 69 73 65 .License...Any.attempt.otherwise
7de0 20 74 6f 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 20 6f 72 20 .to.copy,.modify,.sublicense.or.
7e00 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 0a 76 6f 69 64 2c 20 distribute.the.Program.is.void,.
7e20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 and.will.automatically.terminate
7e40 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e .your.rights.under.this.License.
7e60 0a 48 6f 77 65 76 65 72 2c 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 .However,.parties.who.have.recei
7e80 76 65 64 20 63 6f 70 69 65 73 2c 20 6f 72 20 72 69 67 68 74 73 2c 20 66 72 6f 6d 20 79 6f 75 20 ved.copies,.or.rights,.from.you.
7ea0 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 6e 6f 74 20 68 61 76 65 under.this.License.will.not.have
7ec0 20 74 68 65 69 72 20 6c 69 63 65 6e 73 65 73 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6f 20 6c 6f .their.licenses.terminated.so.lo
7ee0 6e 67 20 61 73 20 73 75 63 68 0a 70 61 72 74 69 65 73 20 72 65 6d 61 69 6e 20 69 6e 20 66 75 6c ng.as.such.parties.remain.in.ful
7f00 6c 20 63 6f 6d 70 6c 69 61 6e 63 65 2e 0a 0a 20 20 35 2e 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 l.compliance.....5..You.are.not.
7f20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c required.to.accept.this.License,
7f40 20 73 69 6e 63 65 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 0a 73 69 67 6e 65 64 20 69 74 2e 20 20 .since.you.have.not.signed.it...
7f60 48 6f 77 65 76 65 72 2c 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 67 72 61 6e 74 73 20 79 6f 75 However,.nothing.else.grants.you
7f80 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6d 6f 64 69 66 79 20 6f 72 0a 64 69 73 74 72 69 62 .permission.to.modify.or.distrib
7fa0 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 ute.the.Program.or.its.derivativ
7fc0 65 20 77 6f 72 6b 73 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 61 72 65 0a 70 72 6f 68 e.works...These.actions.are.proh
7fe0 69 62 69 74 65 64 20 62 79 20 6c 61 77 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 63 63 65 ibited.by.law.if.you.do.not.acce
8000 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 0a pt.this.License...Therefore,.by.
8020 6d 6f 64 69 66 79 69 6e 67 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 74 68 65 20 50 72 modifying.or.distributing.the.Pr
8040 6f 67 72 61 6d 20 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a ogram.(or.any.work.based.on.the.
8060 50 72 6f 67 72 61 6d 29 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 Program),.you.indicate.your.acce
8080 70 74 61 6e 63 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2c ptance.of.this.License.to.do.so,
80a0 20 61 6e 64 0a 61 6c 6c 20 69 74 73 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e .and.all.its.terms.and.condition
80c0 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 6f 72 20 6d s.for.copying,.distributing.or.m
80e0 6f 64 69 66 79 69 6e 67 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 73 20 62 61 odifying.the.Program.or.works.ba
8100 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 20 20 36 2e 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 72 sed.on.it.....6..Each.time.you.r
8120 65 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 6e 79 20 edistribute.the.Program.(or.any.
8140 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 29 2c 20 74 68 65 20 work.based.on.the.Program),.the.
8160 72 65 63 69 70 69 65 6e 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 63 65 69 76 65 73 recipient.automatically.receives
8180 20 61 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 6c 69 63 .a.license.from.the.original.lic
81a0 65 6e 73 6f 72 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 6d 6f 64 ensor.to.copy,.distribute.or.mod
81c0 69 66 79 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 75 62 6a 65 63 74 20 74 6f 0a 74 68 65 73 65 ify.the.Program.subject.to.these
81e0 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 79 20 .terms.and.conditions...You.may.
8200 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 not.impose.any.further.restricti
8220 6f 6e 73 20 6f 6e 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 27 20 65 78 65 72 63 69 73 65 20 ons.on.the.recipients'.exercise.
8240 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 68 65 72 65 69 6e 2e 0a 59 6f of.the.rights.granted.herein..Yo
8260 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 u.are.not.responsible.for.enforc
8280 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 ing.compliance.by.third.parties.
82a0 74 6f 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 37 2e 20 49 66 2c 20 61 73 20 61 20 to.this.License.....7..If,.as.a.
82c0 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 61 20 63 6f 75 72 74 20 6a 75 64 67 6d 65 6e 74 20 consequence.of.a.court.judgment.
82e0 6f 72 20 61 6c 6c 65 67 61 74 69 6f 6e 20 6f 66 20 70 61 74 65 6e 74 0a 69 6e 66 72 69 6e 67 65 or.allegation.of.patent.infringe
8300 6d 65 6e 74 20 6f 72 20 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 28 6e 6f ment.or.for.any.other.reason.(no
8320 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 70 61 74 65 6e 74 20 69 73 73 75 65 73 29 2c 0a 63 6f 6e t.limited.to.patent.issues),.con
8340 64 69 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 ditions.are.imposed.on.you.(whet
8360 68 65 72 20 62 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 her.by.court.order,.agreement.or
8380 0a 6f 74 68 65 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 .otherwise).that.contradict.the.
83a0 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 conditions.of.this.License,.they
83c0 20 64 6f 20 6e 6f 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 .do.not.excuse.you.from.the.cond
83e0 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 itions.of.this.License...If.you.
8400 63 61 6e 6e 6f 74 0a 64 69 73 74 72 69 62 75 74 65 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 cannot.distribute.so.as.to.satis
8420 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c 69 67 61 74 69 6f fy.simultaneously.your.obligatio
8440 6e 73 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 ns.under.this.License.and.any.ot
8460 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 her.pertinent.obligations,.then.
8480 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 0a 6d 61 79 20 6e 6f 74 20 64 69 73 as.a.consequence.you.may.not.dis
84a0 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 tribute.the.Program.at.all...For
84c0 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 61 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 65 20 77 6f .example,.if.a.patent.license.wo
84e0 75 6c 64 20 6e 6f 74 20 70 65 72 6d 69 74 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 72 65 64 69 uld.not.permit.royalty-free.redi
8500 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 62 79 0a 61 6c 6c stribution.of.the.Program.by.all
8520 20 74 68 6f 73 65 20 77 68 6f 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 20 64 69 72 65 63 74 .those.who.receive.copies.direct
8540 6c 79 20 6f 72 20 69 6e 64 69 72 65 63 74 6c 79 20 74 68 72 6f 75 67 68 20 79 6f 75 2c 20 74 68 ly.or.indirectly.through.you,.th
8560 65 6e 0a 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 en.the.only.way.you.could.satisf
8580 79 20 62 6f 74 68 20 69 74 20 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 y.both.it.and.this.License.would
85a0 20 62 65 20 74 6f 0a 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 64 69 73 .be.to.refrain.entirely.from.dis
85c0 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 66 20 61 6e tribution.of.the.Program...If.an
85e0 79 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 68 65 6c y.portion.of.this.section.is.hel
8600 64 20 69 6e 76 61 6c 69 64 20 6f 72 20 75 6e 65 6e 66 6f 72 63 65 61 62 6c 65 20 75 6e 64 65 72 d.invalid.or.unenforceable.under
8620 0a 61 6e 79 20 70 61 72 74 69 63 75 6c 61 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 2c 20 74 68 .any.particular.circumstance,.th
8640 65 20 62 61 6c 61 6e 63 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 e.balance.of.the.section.is.inte
8660 6e 64 65 64 20 74 6f 0a 61 70 70 6c 79 20 61 6e 64 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 73 nded.to.apply.and.the.section.as
8680 20 61 20 77 68 6f 6c 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 61 70 70 6c 79 20 69 6e .a.whole.is.intended.to.apply.in
86a0 20 6f 74 68 65 72 0a 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 0a 0a 49 74 20 69 73 20 6e 6f 74 .other.circumstances...It.is.not
86c0 20 74 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 74 6f 20 .the.purpose.of.this.section.to.
86e0 69 6e 64 75 63 65 20 79 6f 75 20 74 6f 20 69 6e 66 72 69 6e 67 65 20 61 6e 79 0a 70 61 74 65 6e induce.you.to.infringe.any.paten
8700 74 73 20 6f 72 20 6f 74 68 65 72 20 70 72 6f 70 65 72 74 79 20 72 69 67 68 74 20 63 6c 61 69 6d ts.or.other.property.right.claim
8720 73 20 6f 72 20 74 6f 20 63 6f 6e 74 65 73 74 20 76 61 6c 69 64 69 74 79 20 6f 66 20 61 6e 79 0a s.or.to.contest.validity.of.any.
8740 73 75 63 68 20 63 6c 61 69 6d 73 3b 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 68 61 73 20 74 68 such.claims;.this.section.has.th
8760 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 74 68 65 e.sole.purpose.of.protecting.the
8780 0a 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 .integrity.of.the.free.software.
87a0 64 69 73 74 72 69 62 75 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 77 68 69 63 68 20 69 73 0a 69 6d distribution.system,.which.is.im
87c0 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 70 75 62 6c 69 63 20 6c 69 63 65 6e 73 65 20 70 72 61 63 plemented.by.public.license.prac
87e0 74 69 63 65 73 2e 20 20 4d 61 6e 79 20 70 65 6f 70 6c 65 20 68 61 76 65 20 6d 61 64 65 0a 67 65 tices...Many.people.have.made.ge
8800 6e 65 72 6f 75 73 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 69 64 65 nerous.contributions.to.the.wide
8820 20 72 61 6e 67 65 20 6f 66 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 62 75 74 65 64 0a 74 .range.of.software.distributed.t
8840 68 72 6f 75 67 68 20 74 68 61 74 20 73 79 73 74 65 6d 20 69 6e 20 72 65 6c 69 61 6e 63 65 20 6f hrough.that.system.in.reliance.o
8860 6e 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 61 74 n.consistent.application.of.that
8880 0a 73 79 73 74 65 6d 3b 20 69 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 2f .system;.it.is.up.to.the.author/
88a0 64 6f 6e 6f 72 20 74 6f 20 64 65 63 69 64 65 20 69 66 20 68 65 20 6f 72 20 73 68 65 20 69 73 20 donor.to.decide.if.he.or.she.is.
88c0 77 69 6c 6c 69 6e 67 0a 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 73 6f 66 74 77 61 72 65 20 74 willing.to.distribute.software.t
88e0 68 72 6f 75 67 68 20 61 6e 79 20 6f 74 68 65 72 20 73 79 73 74 65 6d 20 61 6e 64 20 61 20 6c 69 hrough.any.other.system.and.a.li
8900 63 65 6e 73 65 65 20 63 61 6e 6e 6f 74 0a 69 6d 70 6f 73 65 20 74 68 61 74 20 63 68 6f 69 63 65 censee.cannot.impose.that.choice
8920 2e 0a 0a 54 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 6d ...This.section.is.intended.to.m
8940 61 6b 65 20 74 68 6f 72 6f 75 67 68 6c 79 20 63 6c 65 61 72 20 77 68 61 74 20 69 73 20 62 65 6c ake.thoroughly.clear.what.is.bel
8960 69 65 76 65 64 20 74 6f 0a 62 65 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 ieved.to.be.a.consequence.of.the
8980 20 72 65 73 74 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 38 2e 20 49 66 20 .rest.of.this.License.....8..If.
89a0 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 75 73 65 20 6f 66 20 74 the.distribution.and/or.use.of.t
89c0 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 69 6e 0a 63 65 72 74 he.Program.is.restricted.in.cert
89e0 61 69 6e 20 63 6f 75 6e 74 72 69 65 73 20 65 69 74 68 65 72 20 62 79 20 70 61 74 65 6e 74 73 20 ain.countries.either.by.patents.
8a00 6f 72 20 62 79 20 63 6f 70 79 72 69 67 68 74 65 64 20 69 6e 74 65 72 66 61 63 65 73 2c 20 74 68 or.by.copyrighted.interfaces,.th
8a20 65 0a 6f 72 69 67 69 6e 61 6c 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 68 6f 20 e.original.copyright.holder.who.
8a40 70 6c 61 63 65 73 20 74 68 65 20 50 72 6f 67 72 61 6d 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 places.the.Program.under.this.Li
8a60 63 65 6e 73 65 0a 6d 61 79 20 61 64 64 20 61 6e 20 65 78 70 6c 69 63 69 74 20 67 65 6f 67 72 61 cense.may.add.an.explicit.geogra
8a80 70 68 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6c 69 6d 69 74 61 74 69 6f 6e 20 65 phical.distribution.limitation.e
8aa0 78 63 6c 75 64 69 6e 67 0a 74 68 6f 73 65 20 63 6f 75 6e 74 72 69 65 73 2c 20 73 6f 20 74 68 61 xcluding.those.countries,.so.tha
8ac0 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 6f 6e 6c 79 t.distribution.is.permitted.only
8ae0 20 69 6e 20 6f 72 20 61 6d 6f 6e 67 0a 63 6f 75 6e 74 72 69 65 73 20 6e 6f 74 20 74 68 75 73 20 .in.or.among.countries.not.thus.
8b00 65 78 63 6c 75 64 65 64 2e 20 20 49 6e 20 73 75 63 68 20 63 61 73 65 2c 20 74 68 69 73 20 4c 69 excluded...In.such.case,.this.Li
8b20 63 65 6e 73 65 20 69 6e 63 6f 72 70 6f 72 61 74 65 73 0a 74 68 65 20 6c 69 6d 69 74 61 74 69 6f cense.incorporates.the.limitatio
8b40 6e 20 61 73 20 69 66 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 n.as.if.written.in.the.body.of.t
8b60 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 39 2e 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 his.License.....9..The.Free.Soft
8b80 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 ware.Foundation.may.publish.revi
8ba0 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 sed.and/or.new.versions.of.the.G
8bc0 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 eneral.Public.License.from.time.
8be0 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c to.time...Such.new.versions.will
8c00 0a 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 .be.similar.in.spirit.to.the.pre
8c20 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 sent.version,.but.may.differ.in.
8c40 64 65 74 61 69 6c 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f detail.to.address.new.problems.o
8c60 72 20 63 6f 6e 63 65 72 6e 73 2e 0a 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 r.concerns...Each.version.is.giv
8c80 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 en.a.distinguishing.version.numb
8ca0 65 72 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 73 70 65 63 69 66 69 65 73 20 61 20 er...If.the.Program.specifies.a.
8cc0 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 version.number.of.this.License.w
8ce0 68 69 63 68 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 20 61 6e 64 20 22 61 6e 79 0a 6c 61 74 65 hich.applies.to.it.and."any.late
8d00 72 20 76 65 72 73 69 6f 6e 22 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 r.version",.you.have.the.option.
8d20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 of.following.the.terms.and.condi
8d40 74 69 6f 6e 73 0a 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 6f 72 20 tions.either.of.that.version.or.
8d60 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 of.any.later.version.published.b
8d80 79 20 74 68 65 20 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 y.the.Free.Software.Foundation..
8da0 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 .If.the.Program.does.not.specify
8dc0 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 .a.version.number.of.this.Licens
8de0 65 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 e,.you.may.choose.any.version.ev
8e00 65 72 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 er.published.by.the.Free.Softwar
8e20 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 0a 20 20 31 30 2e 20 49 66 20 79 6f 75 20 77 69 73 68 e.Foundation.....10..If.you.wish
8e40 20 74 6f 20 69 6e 63 6f 72 70 6f 72 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 50 72 6f .to.incorporate.parts.of.the.Pro
8e60 67 72 61 6d 20 69 6e 74 6f 20 6f 74 68 65 72 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 gram.into.other.free.programs.wh
8e80 6f 73 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 ose.distribution.conditions.are.
8ea0 64 69 66 66 65 72 65 6e 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 0a 74 different,.write.to.the.author.t
8ec0 6f 20 61 73 6b 20 66 6f 72 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 46 6f 72 20 73 6f 66 74 77 o.ask.for.permission...For.softw
8ee0 61 72 65 20 77 68 69 63 68 20 69 73 20 63 6f 70 79 72 69 67 68 74 65 64 20 62 79 20 74 68 65 20 are.which.is.copyrighted.by.the.
8f00 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 77 72 69 74 65 20 Free.Software.Foundation,.write.
8f20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b to.the.Free.Software.Foundation;
8f40 20 77 65 20 73 6f 6d 65 74 69 6d 65 73 0a 6d 61 6b 65 20 65 78 63 65 70 74 69 6f 6e 73 20 66 6f .we.sometimes.make.exceptions.fo
8f60 72 20 74 68 69 73 2e 20 20 4f 75 72 20 64 65 63 69 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 67 75 r.this...Our.decision.will.be.gu
8f80 69 64 65 64 20 62 79 20 74 68 65 20 74 77 6f 20 67 6f 61 6c 73 0a 6f 66 20 70 72 65 73 65 72 76 ided.by.the.two.goals.of.preserv
8fa0 69 6e 67 20 74 68 65 20 66 72 65 65 20 73 74 61 74 75 73 20 6f 66 20 61 6c 6c 20 64 65 72 69 76 ing.the.free.status.of.all.deriv
8fc0 61 74 69 76 65 73 20 6f 66 20 6f 75 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 61 6e 64 0a atives.of.our.free.software.and.
8fe0 6f 66 20 70 72 6f 6d 6f 74 69 6e 67 20 74 68 65 20 73 68 61 72 69 6e 67 20 61 6e 64 20 72 65 75 of.promoting.the.sharing.and.reu
9000 73 65 20 6f 66 20 73 6f 66 74 77 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 2e 0a 0a 09 09 09 20 20 se.of.software.generally........
9020 20 20 4e 4f 20 57 41 52 52 41 4e 54 59 0a 0a 20 20 31 31 2e 20 42 45 43 41 55 53 45 20 54 48 45 ..NO.WARRANTY....11..BECAUSE.THE
9040 20 50 52 4f 47 52 41 4d 20 49 53 20 4c 49 43 45 4e 53 45 44 20 46 52 45 45 20 4f 46 20 43 48 41 .PROGRAM.IS.LICENSED.FREE.OF.CHA
9060 52 47 45 2c 20 54 48 45 52 45 20 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 0a 46 4f 52 20 54 48 RGE,.THERE.IS.NO.WARRANTY.FOR.TH
9080 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 E.PROGRAM,.TO.THE.EXTENT.PERMITT
90a0 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 ED.BY.APPLICABLE.LAW...EXCEPT.WH
90c0 45 4e 0a 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 EN.OTHERWISE.STATED.IN.WRITING.T
90e0 48 45 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 HE.COPYRIGHT.HOLDERS.AND/OR.OTHE
9100 52 20 50 41 52 54 49 45 53 0a 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 R.PARTIES.PROVIDE.THE.PROGRAM."A
9120 53 20 49 53 22 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 S.IS".WITHOUT.WARRANTY.OF.ANY.KI
9140 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 53 45 44 0a 4f 52 20 49 4d 50 4c 49 45 44 2c ND,.EITHER.EXPRESSED.OR.IMPLIED,
9160 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 .INCLUDING,.BUT.NOT.LIMITED.TO,.
9180 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 0a 4d 45 52 43 48 41 THE.IMPLIED.WARRANTIES.OF.MERCHA
91a0 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 NTABILITY.AND.FITNESS.FOR.A.PART
91c0 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b ICULAR.PURPOSE...THE.ENTIRE.RISK
91e0 20 41 53 0a 54 4f 20 54 48 45 20 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e .AS.TO.THE.QUALITY.AND.PERFORMAN
9200 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 CE.OF.THE.PROGRAM.IS.WITH.YOU...
9220 53 48 4f 55 4c 44 20 54 48 45 0a 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 SHOULD.THE.PROGRAM.PROVE.DEFECTI
9240 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c 20 4e VE,.YOU.ASSUME.THE.COST.OF.ALL.N
9260 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e 47 2c 0a 52 45 50 41 49 52 20 4f 52 20 43 4f ECESSARY.SERVICING,.REPAIR.OR.CO
9280 52 52 45 43 54 49 4f 4e 2e 0a 0a 20 20 31 32 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c RRECTION.....12..IN.NO.EVENT.UNL
92a0 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f ESS.REQUIRED.BY.APPLICABLE.LAW.O
92c0 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 R.AGREED.TO.IN.WRITING.WILL.ANY.
92e0 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 COPYRIGHT.HOLDER,.OR.ANY.OTHER.P
9300 41 52 54 59 20 57 48 4f 20 4d 41 59 20 4d 4f 44 49 46 59 20 41 4e 44 2f 4f 52 0a 52 45 44 49 53 ARTY.WHO.MAY.MODIFY.AND/OR.REDIS
9320 54 52 49 42 55 54 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 TRIBUTE.THE.PROGRAM.AS.PERMITTED
9340 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 46 4f 52 20 44 41 4d .ABOVE,.BE.LIABLE.TO.YOU.FOR.DAM
9360 41 47 45 53 2c 0a 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 AGES,.INCLUDING.ANY.GENERAL,.SPE
9380 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 CIAL,.INCIDENTAL.OR.CONSEQUENTIA
93a0 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 0a 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 L.DAMAGES.ARISING.OUT.OF.THE.USE
93c0 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d .OR.INABILITY.TO.USE.THE.PROGRAM
93e0 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 0a 54 4f 20 4c .(INCLUDING.BUT.NOT.LIMITED.TO.L
9400 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 49 4e 47 20 52 45 4e 44 45 52 OSS.OF.DATA.OR.DATA.BEING.RENDER
9420 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 ED.INACCURATE.OR.LOSSES.SUSTAINE
9440 44 20 42 59 0a 59 4f 55 20 4f 52 20 54 48 49 52 44 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 D.BY.YOU.OR.THIRD.PARTIES.OR.A.F
9460 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 54 4f 20 4f 50 45 52 41 54 45 AILURE.OF.THE.PROGRAM.TO.OPERATE
9480 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 0a 50 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 .WITH.ANY.OTHER.PROGRAMS),.EVEN.
94a0 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 52 20 50 41 52 54 59 20 48 41 IF.SUCH.HOLDER.OR.OTHER.PARTY.HA
94c0 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 0a 50 4f 53 53 49 42 49 4c 49 54 S.BEEN.ADVISED.OF.THE.POSSIBILIT
94e0 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 09 09 20 20 20 20 20 45 4e 44 20 4f Y.OF.SUCH.DAMAGES..........END.O
9500 46 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 09 41 70 70 65 6e 64 69 F.TERMS.AND.CONDITIONS...Appendi
9520 78 3a 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 x:.How.to.Apply.These.Terms.to.Y
9540 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 76 65 6c our.New.Programs....If.you.devel
9560 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 op.a.new.program,.and.you.want.i
9580 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 t.to.be.of.the.greatest.possible
95a0 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 .use.to.the.public,.the.best.way
95c0 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 .to.achieve.this.is.to.make.it.f
95e0 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 ree.software.which.everyone.can.
9600 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 redistribute.and.change.under.th
9620 65 73 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 ese.terms.....To.do.so,.attach.t
9640 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 he.following.notices.to.the.prog
9660 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 ram...It.is.safest.to.attach.the
9680 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 m.to.the.start.of.each.source.fi
96a0 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 63 6f 6e 76 65 79 20 74 68 le.to.most.effectively.convey.th
96c0 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 e.exclusion.of.warranty;.and.eac
96e0 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 65 20 h.file.should.have.at.least.the.
9700 22 63 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 "copyright".line.and.a.pointer.t
9720 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 o.where.the.full.notice.is.found
9740 2e 0a 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f .......<one.line.to.give.the.pro
9760 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f 66 20 gram's.name.and.a.brief.idea.of.
9780 77 68 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 what.it.does.>.....Copyright.(C)
97a0 20 31 39 79 79 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 20 54 68 69 .19yy..<name.of.author>......Thi
97c0 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 s.program.is.free.software;.you.
97e0 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
9800 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
9820 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
9840 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
9860 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation;.either.version.2.of
9880 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
98a0 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
98c0 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
98e0 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
9900 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
9920 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
9940 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
9960 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
9980 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
99a0 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
99c0 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
99e0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
9a00 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e 6f 74 2c 20 long.with.this.program;.if.not,.
9a20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 20 20 46 write.to.the.Free.Software.....F
9a40 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 36 37 35 20 4d 61 73 73 20 41 76 65 2c 20 43 oundation,.Inc.,.675.Mass.Ave,.C
9a60 61 6d 62 72 69 64 67 65 2c 20 4d 41 20 30 32 31 33 39 2c 20 55 53 41 2e 0a 0a 41 6c 73 6f 20 61 ambridge,.MA.02139,.USA...Also.a
9a80 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 74 dd.information.on.how.to.contact
9aa0 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 6e 64 20 70 61 70 65 72 20 6d 61 69 .you.by.electronic.and.paper.mai
9ac0 6c 2e 0a 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20 69 6e 74 65 72 61 63 74 69 76 l...If.the.program.is.interactiv
9ae0 65 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 68 6f 72 74 20 6e 6f 74 69 63 65 e,.make.it.output.a.short.notice
9b00 20 6c 69 6b 65 20 74 68 69 73 0a 77 68 65 6e 20 69 74 20 73 74 61 72 74 73 20 69 6e 20 61 6e 20 .like.this.when.it.starts.in.an.
9b20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 interactive.mode:......Gnomovisi
9b40 6f 6e 20 76 65 72 73 69 6f 6e 20 36 39 2c 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 79 on.version.69,.Copyright.(C).19y
9b60 79 20 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e y.name.of.author.....Gnomovision
9b80 20 63 6f 6d 65 73 20 77 69 74 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e .comes.with.ABSOLUTELY.NO.WARRAN
9ba0 54 59 3b 20 66 6f 72 20 64 65 74 61 69 6c 73 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 TY;.for.details.type.`show.w'...
9bc0 20 20 20 54 68 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f ...This.is.free.software,.and.yo
9be0 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 u.are.welcome.to.redistribute.it
9c00 0a 20 20 20 20 75 6e 64 65 72 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 .....under.certain.conditions;.t
9c20 79 70 65 20 60 73 68 6f 77 20 63 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 ype.`show.c'.for.details...The.h
9c40 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e ypothetical.commands.`show.w'.an
9c60 64 20 60 73 68 6f 77 20 63 27 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f d.`show.c'.should.show.the.appro
9c80 70 72 69 61 74 65 0a 70 61 72 74 73 20 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c priate.parts.of.the.General.Publ
9ca0 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 74 68 65 20 63 6f 6d 6d ic.License...Of.course,.the.comm
9cc0 61 6e 64 73 20 79 6f 75 20 75 73 65 20 6d 61 79 0a 62 65 20 63 61 6c 6c 65 64 20 73 6f 6d 65 74 ands.you.use.may.be.called.somet
9ce0 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 hing.other.than.`show.w'.and.`sh
9d00 6f 77 20 63 27 3b 20 74 68 65 79 20 63 6f 75 6c 64 20 65 76 65 6e 20 62 65 0a 6d 6f 75 73 65 2d ow.c';.they.could.even.be.mouse-
9d20 63 6c 69 63 6b 73 20 6f 72 20 6d 65 6e 75 20 69 74 65 6d 73 2d 2d 77 68 61 74 65 76 65 72 20 73 clicks.or.menu.items--whatever.s
9d40 75 69 74 73 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 uits.your.program...You.should.a
9d60 6c 73 6f 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f lso.get.your.employer.(if.you.wo
9d80 72 6b 20 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 79 6f 75 72 0a 73 63 68 6f rk.as.a.programmer).or.your.scho
9da0 6f 6c 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 ol,.if.any,.to.sign.a."copyright
9dc0 20 64 69 73 63 6c 61 69 6d 65 72 22 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 .disclaimer".for.the.program,.if
9de0 0a 6e 65 63 65 73 73 61 72 79 2e 20 20 48 65 72 65 20 69 73 20 61 20 73 61 6d 70 6c 65 3b 20 61 .necessary...Here.is.a.sample;.a
9e00 6c 74 65 72 20 74 68 65 20 6e 61 6d 65 73 3a 0a 0a 20 20 59 6f 79 6f 64 79 6e 65 2c 20 49 6e 63 lter.the.names:....Yoyodyne,.Inc
9e20 2e 2c 20 68 65 72 65 62 79 20 64 69 73 63 6c 61 69 6d 73 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 .,.hereby.disclaims.all.copyrigh
9e40 74 20 69 6e 74 65 72 65 73 74 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 0a 20 20 60 47 6e 6f t.interest.in.the.program...`Gno
9e60 6d 6f 76 69 73 69 6f 6e 27 20 28 77 68 69 63 68 20 6d 61 6b 65 73 20 70 61 73 73 65 73 20 61 74 movision'.(which.makes.passes.at
9e80 20 63 6f 6d 70 69 6c 65 72 73 29 20 77 72 69 74 74 65 6e 20 62 79 20 4a 61 6d 65 73 20 48 61 63 .compilers).written.by.James.Hac
9ea0 6b 65 72 2e 0a 0a 20 20 3c 73 69 67 6e 61 74 75 72 65 20 6f 66 20 54 79 20 43 6f 6f 6e 3e 2c 20 ker.....<signature.of.Ty.Coon>,.
9ec0 31 20 41 70 72 69 6c 20 31 39 38 39 0a 20 20 54 79 20 43 6f 6f 6e 2c 20 50 72 65 73 69 64 65 6e 1.April.1989...Ty.Coon,.Presiden
9ee0 74 20 6f 66 20 56 69 63 65 0a 0a 54 68 69 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c t.of.Vice..This.General.Public.L
9f00 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 74 20 69 6e 63 6f 72 70 6f 72 61 icense.does.not.permit.incorpora
9f20 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 6e 74 6f 0a 70 72 6f 70 72 69 65 74 61 ting.your.program.into.proprieta
9f40 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 73 ry.programs...If.your.program.is
9f60 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 79 2c 20 79 6f 75 20 6d 61 79 0a 63 .a.subroutine.library,.you.may.c
9f80 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 6c 20 74 6f 20 70 65 72 6d 69 74 onsider.it.more.useful.to.permit
9fa0 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 20 61 70 70 6c 69 63 61 74 69 6f 6e .linking.proprietary.application
9fc0 73 20 77 69 74 68 20 74 68 65 0a 6c 69 62 72 61 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 s.with.the.library...If.this.is.
9fe0 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 75 73 65 20 74 68 65 20 47 4e 55 what.you.want.to.do,.use.the.GNU
a000 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .Library.General.Public.License.
a020 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 00 00 00 00 00 00 00 instead.of.this.License.........
a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a200 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 74 61 73 6b 62 61 72 2e 63 00 00 00 00 00 00 00 00 windowlab-1.40/taskbar.c........
a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
a280 30 30 32 34 30 31 37 00 31 31 33 35 36 31 35 35 33 35 32 00 30 31 33 36 36 33 00 20 30 00 00 00 0024017.11356155352.013663..0...
a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a300 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
a320 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a400 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
a420 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
a440 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
a460 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
a480 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
a4a0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
a4c0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
a4e0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
a500 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
a520 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
a540 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
a560 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
a580 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
a5a0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
a5c0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
a5e0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
a600 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
a620 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
a640 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
a660 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
a680 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
a6a0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
a6c0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
a6e0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
a700 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
a720 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
a740 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 10-1301,.USA...*/..#include."win
a760 64 6f 77 6c 61 62 2e 68 22 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6d 65 6e 75 dowlab.h"..static.void.draw_menu
a780 62 61 72 28 76 6f 69 64 29 3b 0a 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 75 bar(void);.static.unsigned.int.u
a7a0 70 64 61 74 65 5f 6d 65 6e 75 69 74 65 6d 28 69 6e 74 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 pdate_menuitem(int);.static.void
a7c0 20 64 72 61 77 5f 6d 65 6e 75 69 74 65 6d 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 2c 20 75 6e 73 .draw_menuitem(unsigned.int,.uns
a7e0 69 67 6e 65 64 20 69 6e 74 29 3b 0a 0a 57 69 6e 64 6f 77 20 74 61 73 6b 62 61 72 3b 0a 23 69 66 igned.int);..Window.taskbar;.#if
a800 64 65 66 20 58 46 54 0a 58 66 74 44 72 61 77 20 2a 74 62 78 66 74 64 72 61 77 3b 0a 23 65 6e 64 def.XFT.XftDraw.*tbxftdraw;.#end
a820 69 66 0a 0a 76 6f 69 64 20 6d 61 6b 65 5f 74 61 73 6b 62 61 72 28 76 6f 69 64 29 0a 7b 0a 09 58 if..void.make_taskbar(void).{..X
a840 53 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 70 61 74 74 72 3b 0a 0a 09 70 61 74 SetWindowAttributes.pattr;...pat
a860 74 72 2e 6f 76 65 72 72 69 64 65 5f 72 65 64 69 72 65 63 74 20 3d 20 54 72 75 65 3b 0a 09 70 61 tr.override_redirect.=.True;..pa
a880 74 74 72 2e 62 61 63 6b 67 72 6f 75 6e 64 5f 70 69 78 65 6c 20 3d 20 65 6d 70 74 79 5f 63 6f 6c ttr.background_pixel.=.empty_col
a8a0 2e 70 69 78 65 6c 3b 0a 09 70 61 74 74 72 2e 62 6f 72 64 65 72 5f 70 69 78 65 6c 20 3d 20 62 6f .pixel;..pattr.border_pixel.=.bo
a8c0 72 64 65 72 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 70 61 74 74 72 2e 65 76 65 6e 74 5f 6d 61 73 rder_col.pixel;..pattr.event_mas
a8e0 6b 20 3d 20 43 68 69 6c 64 4d 61 73 6b 7c 42 75 74 74 6f 6e 50 72 65 73 73 4d 61 73 6b 7c 45 78 k.=.ChildMask|ButtonPressMask|Ex
a900 70 6f 73 75 72 65 4d 61 73 6b 7c 45 6e 74 65 72 57 69 6e 64 6f 77 4d 61 73 6b 3b 0a 09 74 61 73 posureMask|EnterWindowMask;..tas
a920 6b 62 61 72 20 3d 20 58 43 72 65 61 74 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 6f 6f 74 kbar.=.XCreateWindow(dsply,.root
a940 2c 20 30 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 2c 20 30 20 2d 20 44 45 46 5f 42 ,.0.-.DEF_BORDERWIDTH,.0.-.DEF_B
a960 4f 52 44 45 52 57 49 44 54 48 2c 20 44 69 73 70 6c 61 79 57 69 64 74 68 28 64 73 70 6c 79 2c 20 ORDERWIDTH,.DisplayWidth(dsply,.
a980 73 63 72 65 65 6e 29 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 screen),.BARHEIGHT().-.DEF_BORDE
a9a0 52 57 49 44 54 48 2c 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 2c 20 44 65 66 61 75 6c 74 RWIDTH,.DEF_BORDERWIDTH,.Default
a9c0 44 65 70 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 43 6f 70 79 46 72 6f 6d 50 61 Depth(dsply,.screen),.CopyFromPa
a9e0 72 65 6e 74 2c 20 44 65 66 61 75 6c 74 56 69 73 75 61 6c 28 64 73 70 6c 79 2c 20 73 63 72 65 65 rent,.DefaultVisual(dsply,.scree
aa00 6e 29 2c 20 43 57 4f 76 65 72 72 69 64 65 52 65 64 69 72 65 63 74 7c 43 57 42 61 63 6b 50 69 78 n),.CWOverrideRedirect|CWBackPix
aa20 65 6c 7c 43 57 42 6f 72 64 65 72 50 69 78 65 6c 7c 43 57 45 76 65 6e 74 4d 61 73 6b 2c 20 26 70 el|CWBorderPixel|CWEventMask,.&p
aa40 61 74 74 72 29 3b 0a 0a 09 58 4d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 74 61 73 6b 62 attr);...XMapWindow(dsply,.taskb
aa60 61 72 29 3b 0a 0a 23 69 66 64 65 66 20 58 46 54 0a 09 74 62 78 66 74 64 72 61 77 20 3d 20 58 66 ar);..#ifdef.XFT..tbxftdraw.=.Xf
aa80 74 44 72 61 77 43 72 65 61 74 65 28 64 73 70 6c 79 2c 20 28 44 72 61 77 61 62 6c 65 29 20 74 61 tDrawCreate(dsply,.(Drawable).ta
aaa0 73 6b 62 61 72 2c 20 44 65 66 61 75 6c 74 56 69 73 75 61 6c 28 64 73 70 6c 79 2c 20 44 65 66 61 skbar,.DefaultVisual(dsply,.Defa
aac0 75 6c 74 53 63 72 65 65 6e 28 64 73 70 6c 79 29 29 2c 20 44 65 66 61 75 6c 74 43 6f 6c 6f 72 6d ultScreen(dsply)),.DefaultColorm
aae0 61 70 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 53 63 72 65 65 6e 28 64 73 70 6c 79 29 29 29 ap(dsply,.DefaultScreen(dsply)))
ab00 3b 0a 23 65 6e 64 69 66 0a 7d 0a 0a 76 6f 69 64 20 72 65 6d 65 6d 62 65 72 5f 68 69 64 64 65 6e ;.#endif.}..void.remember_hidden
ab20 28 76 6f 69 64 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 3b 0a 09 66 6f 72 20 28 63 20 3d 20 68 (void).{..Client.*c;..for.(c.=.h
ab40 65 61 64 5f 63 6c 69 65 6e 74 3b 20 63 20 21 3d 20 4e 55 4c 4c 3b 20 63 20 3d 20 63 2d 3e 6e 65 ead_client;.c.!=.NULL;.c.=.c->ne
ab60 78 74 29 0a 09 7b 0a 09 09 63 2d 3e 77 61 73 5f 68 69 64 64 65 6e 20 3d 20 63 2d 3e 68 69 64 64 xt)..{...c->was_hidden.=.c->hidd
ab80 65 6e 3b 0a 09 7d 0a 7d 0a 0a 76 6f 69 64 20 66 6f 72 67 65 74 5f 68 69 64 64 65 6e 28 76 6f 69 en;..}.}..void.forget_hidden(voi
aba0 64 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 3b 0a 09 66 6f 72 20 28 63 20 3d 20 68 65 61 64 5f d).{..Client.*c;..for.(c.=.head_
abc0 63 6c 69 65 6e 74 3b 20 63 20 21 3d 20 4e 55 4c 4c 3b 20 63 20 3d 20 63 2d 3e 6e 65 78 74 29 0a client;.c.!=.NULL;.c.=.c->next).
abe0 09 7b 0a 09 09 69 66 20 28 63 20 3d 3d 20 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 29 0a 09 09 .{...if.(c.==.focused_client)...
ac00 7b 0a 09 09 09 63 2d 3e 77 61 73 5f 68 69 64 64 65 6e 20 3d 20 63 2d 3e 68 69 64 64 65 6e 3b 0a {....c->was_hidden.=.c->hidden;.
ac20 09 09 7d 0a 09 09 65 6c 73 65 0a 09 09 7b 0a 09 09 09 63 2d 3e 77 61 73 5f 68 69 64 64 65 6e 20 ..}...else...{....c->was_hidden.
ac40 3d 20 30 3b 0a 09 09 7d 0a 09 7d 0a 7d 0a 0a 76 6f 69 64 20 6c 63 6c 69 63 6b 5f 74 61 73 6b 62 =.0;...}..}.}..void.lclick_taskb
ac60 75 74 74 6f 6e 28 43 6c 69 65 6e 74 20 2a 6f 6c 64 5f 63 2c 20 43 6c 69 65 6e 74 20 2a 63 29 0a utton(Client.*old_c,.Client.*c).
ac80 7b 0a 09 69 66 20 28 6f 6c 64 5f 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 69 66 20 28 6f {..if.(old_c.!=.NULL)..{...if.(o
aca0 6c 64 5f 63 2d 3e 77 61 73 5f 68 69 64 64 65 6e 29 0a 09 09 7b 0a 09 09 09 68 69 64 65 28 6f 6c ld_c->was_hidden)...{....hide(ol
acc0 64 5f 63 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 69 66 20 28 63 2d 3e 68 69 64 64 65 6e 29 0a 09 7b d_c);...}..}...if.(c->hidden)..{
ace0 0a 09 09 75 6e 68 69 64 65 28 63 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 69 66 20 28 ...unhide(c);..}..else..{...if.(
ad00 63 2d 3e 77 61 73 5f 68 69 64 64 65 6e 29 0a 09 09 7b 0a 09 09 09 68 69 64 65 28 63 29 3b 0a 09 c->was_hidden)...{....hide(c);..
ad20 09 7d 0a 09 09 65 6c 73 65 0a 09 09 7b 0a 09 09 09 72 61 69 73 65 5f 6c 6f 77 65 72 28 63 29 3b .}...else...{....raise_lower(c);
ad40 0a 09 09 7d 0a 09 7d 0a 09 63 68 65 63 6b 5f 66 6f 63 75 73 28 63 29 3b 0a 7d 0a 0a 76 6f 69 64 ...}..}..check_focus(c);.}..void
ad60 20 6c 63 6c 69 63 6b 5f 74 61 73 6b 62 61 72 28 69 6e 74 20 78 29 0a 7b 0a 09 58 45 76 65 6e 74 .lclick_taskbar(int.x).{..XEvent
ad80 20 65 76 3b 0a 09 69 6e 74 20 6d 6f 75 73 65 78 2c 20 6d 6f 75 73 65 79 3b 0a 09 52 65 63 74 20 .ev;..int.mousex,.mousey;..Rect.
ada0 62 6f 75 6e 64 64 69 6d 73 3b 0a 09 57 69 6e 64 6f 77 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 bounddims;..Window.constraint_wi
adc0 6e 3b 0a 09 58 53 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 70 61 74 74 72 3b 0a n;..XSetWindowAttributes.pattr;.
ade0 0a 09 66 6c 6f 61 74 20 62 75 74 74 6f 6e 5f 77 69 64 74 68 3b 0a 09 75 6e 73 69 67 6e 65 64 20 ..float.button_width;..unsigned.
ae00 69 6e 74 20 62 75 74 74 6f 6e 5f 63 6c 69 63 6b 65 64 2c 20 6f 6c 64 5f 62 75 74 74 6f 6e 5f 63 int.button_clicked,.old_button_c
ae20 6c 69 63 6b 65 64 2c 20 69 3b 0a 09 43 6c 69 65 6e 74 20 2a 63 2c 20 2a 65 78 70 6f 73 65 64 5f licked,.i;..Client.*c,.*exposed_
ae40 63 2c 20 2a 6f 6c 64 5f 63 3b 0a 09 69 66 20 28 68 65 61 64 5f 63 6c 69 65 6e 74 20 21 3d 20 4e c,.*old_c;..if.(head_client.!=.N
ae60 55 4c 4c 29 0a 09 7b 0a 09 09 72 65 6d 65 6d 62 65 72 5f 68 69 64 64 65 6e 28 29 3b 0a 0a 09 09 ULL)..{...remember_hidden();....
ae80 67 65 74 5f 6d 6f 75 73 65 5f 70 6f 73 69 74 69 6f 6e 28 26 6d 6f 75 73 65 78 2c 20 26 6d 6f 75 get_mouse_position(&mousex,.&mou
aea0 73 65 79 29 3b 0a 0a 09 09 62 6f 75 6e 64 64 69 6d 73 2e 78 20 3d 20 30 3b 0a 09 09 62 6f 75 6e sey);....bounddims.x.=.0;...boun
aec0 64 64 69 6d 73 2e 79 20 3d 20 30 3b 0a 09 09 62 6f 75 6e 64 64 69 6d 73 2e 77 69 64 74 68 20 3d ddims.y.=.0;...bounddims.width.=
aee0 20 44 69 73 70 6c 61 79 57 69 64 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b 0a 09 09 .DisplayWidth(dsply,.screen);...
af00 62 6f 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 20 3d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a bounddims.height.=.BARHEIGHT();.
af20 0a 09 09 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 20 3d 20 58 43 72 65 61 74 65 57 69 6e 64 6f ...constraint_win.=.XCreateWindo
af40 77 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 78 2c 20 62 6f 75 6e w(dsply,.root,.bounddims.x,.boun
af60 64 64 69 6d 73 2e 79 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 77 69 64 74 68 2c 20 62 6f 75 6e 64 64 ddims.y,.bounddims.width,.boundd
af80 69 6d 73 2e 68 65 69 67 68 74 2c 20 30 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 49 ims.height,.0,.CopyFromParent,.I
afa0 6e 70 75 74 4f 6e 6c 79 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 30 2c 20 26 70 61 nputOnly,.CopyFromParent,.0,.&pa
afc0 74 74 72 29 3b 0a 09 09 58 4d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e 73 74 72 ttr);...XMapWindow(dsply,.constr
afe0 61 69 6e 74 5f 77 69 6e 29 3b 0a 0a 09 09 69 66 20 28 21 28 58 47 72 61 62 50 6f 69 6e 74 65 72 aint_win);....if.(!(XGrabPointer
b000 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 46 61 6c 73 65 2c 20 4d 6f 75 73 65 4d 61 73 6b 2c 20 (dsply,.root,.False,.MouseMask,.
b020 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 63 6f GrabModeAsync,.GrabModeAsync,.co
b040 6e 73 74 72 61 69 6e 74 5f 77 69 6e 2c 20 4e 6f 6e 65 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 nstraint_win,.None,.CurrentTime)
b060 20 3d 3d 20 47 72 61 62 53 75 63 63 65 73 73 29 29 0a 09 09 7b 0a 09 09 09 58 44 65 73 74 72 6f .==.GrabSuccess))...{....XDestro
b080 79 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a yWindow(dsply,.constraint_win);.
b0a0 09 09 09 72 65 74 75 72 6e 3b 0a 09 09 7d 0a 0a 09 09 62 75 74 74 6f 6e 5f 77 69 64 74 68 20 3d ...return;...}....button_width.=
b0c0 20 67 65 74 5f 62 75 74 74 6f 6e 5f 77 69 64 74 68 28 29 3b 0a 0a 09 09 62 75 74 74 6f 6e 5f 63 .get_button_width();....button_c
b0e0 6c 69 63 6b 65 64 20 3d 20 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 29 28 78 20 2f 20 62 75 74 74 licked.=.(unsigned.int)(x./.butt
b100 6f 6e 5f 77 69 64 74 68 29 3b 0a 09 09 66 6f 72 20 28 69 20 3d 20 30 2c 20 63 20 3d 20 68 65 61 on_width);...for.(i.=.0,.c.=.hea
b120 64 5f 63 6c 69 65 6e 74 3b 20 69 20 3c 20 62 75 74 74 6f 6e 5f 63 6c 69 63 6b 65 64 3b 20 69 2b d_client;.i.<.button_clicked;.i+
b140 2b 29 0a 09 09 7b 0a 09 09 09 63 20 3d 20 63 2d 3e 6e 65 78 74 3b 0a 09 09 7d 0a 0a 09 09 6c 63 +)...{....c.=.c->next;...}....lc
b160 6c 69 63 6b 5f 74 61 73 6b 62 75 74 74 6f 6e 28 4e 55 4c 4c 2c 20 63 29 3b 0a 0a 09 09 64 6f 0a lick_taskbutton(NULL,.c);....do.
b180 09 09 7b 0a 09 09 09 58 4d 61 73 6b 45 76 65 6e 74 28 64 73 70 6c 79 2c 20 45 78 70 6f 73 75 72 ..{....XMaskEvent(dsply,.Exposur
b1a0 65 4d 61 73 6b 7c 4d 6f 75 73 65 4d 61 73 6b 7c 4b 65 79 4d 61 73 6b 2c 20 26 65 76 29 3b 0a 09 eMask|MouseMask|KeyMask,.&ev);..
b1c0 09 09 73 77 69 74 63 68 20 28 65 76 2e 74 79 70 65 29 0a 09 09 09 7b 0a 09 09 09 09 63 61 73 65 ..switch.(ev.type)....{.....case
b1e0 20 45 78 70 6f 73 65 3a 0a 09 09 09 09 09 65 78 70 6f 73 65 64 5f 63 20 3d 20 66 69 6e 64 5f 63 .Expose:......exposed_c.=.find_c
b200 6c 69 65 6e 74 28 65 76 2e 78 65 78 70 6f 73 65 2e 77 69 6e 64 6f 77 2c 20 46 52 41 4d 45 29 3b lient(ev.xexpose.window,.FRAME);
b220 0a 09 09 09 09 09 69 66 20 28 65 78 70 6f 73 65 64 5f 63 29 0a 09 09 09 09 09 7b 0a 09 09 09 09 ......if.(exposed_c)......{.....
b240 09 09 72 65 64 72 61 77 28 65 78 70 6f 73 65 64 5f 63 29 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 ..redraw(exposed_c);......}.....
b260 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 4d 6f 74 69 6f 6e 4e 6f 74 69 66 79 3a 0a 09 .break;.....case.MotionNotify:..
b280 09 09 09 09 6f 6c 64 5f 62 75 74 74 6f 6e 5f 63 6c 69 63 6b 65 64 20 3d 20 62 75 74 74 6f 6e 5f ....old_button_clicked.=.button_
b2a0 63 6c 69 63 6b 65 64 3b 0a 09 09 09 09 09 62 75 74 74 6f 6e 5f 63 6c 69 63 6b 65 64 20 3d 20 28 clicked;......button_clicked.=.(
b2c0 75 6e 73 69 67 6e 65 64 20 69 6e 74 29 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 78 20 2f 20 62 75 74 unsigned.int)(ev.xmotion.x./.but
b2e0 74 6f 6e 5f 77 69 64 74 68 29 3b 0a 09 09 09 09 09 69 66 20 28 62 75 74 74 6f 6e 5f 63 6c 69 63 ton_width);......if.(button_clic
b300 6b 65 64 20 21 3d 20 6f 6c 64 5f 62 75 74 74 6f 6e 5f 63 6c 69 63 6b 65 64 29 0a 09 09 09 09 09 ked.!=.old_button_clicked)......
b320 7b 0a 09 09 09 09 09 09 6f 6c 64 5f 63 20 3d 20 63 3b 0a 09 09 09 09 09 09 66 6f 72 20 28 69 20 {.......old_c.=.c;.......for.(i.
b340 3d 20 30 2c 20 63 20 3d 20 68 65 61 64 5f 63 6c 69 65 6e 74 3b 20 69 20 3c 20 62 75 74 74 6f 6e =.0,.c.=.head_client;.i.<.button
b360 5f 63 6c 69 63 6b 65 64 3b 20 69 2b 2b 29 0a 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 63 20 _clicked;.i++).......{........c.
b380 3d 20 63 2d 3e 6e 65 78 74 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 6c 63 6c 69 63 6b 5f =.c->next;.......}.......lclick_
b3a0 74 61 73 6b 62 75 74 74 6f 6e 28 6f 6c 64 5f 63 2c 20 63 29 3b 0a 09 09 09 09 09 7d 0a 09 09 09 taskbutton(old_c,.c);......}....
b3c0 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 4b 65 79 50 72 65 73 73 3a 0a 09 09 09 09 ..break;.....case.KeyPress:.....
b3e0 09 58 50 75 74 42 61 63 6b 45 76 65 6e 74 28 64 73 70 6c 79 2c 20 26 65 76 29 3b 0a 09 09 09 09 .XPutBackEvent(dsply,.&ev);.....
b400 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 77 68 69 6c 65 20 28 65 76 2e 74 79 70 .break;....}...}...while.(ev.typ
b420 65 20 21 3d 20 42 75 74 74 6f 6e 50 72 65 73 73 20 26 26 20 65 76 2e 74 79 70 65 20 21 3d 20 42 e.!=.ButtonPress.&&.ev.type.!=.B
b440 75 74 74 6f 6e 52 65 6c 65 61 73 65 20 26 26 20 65 76 2e 74 79 70 65 20 21 3d 20 4b 65 79 50 72 uttonRelease.&&.ev.type.!=.KeyPr
b460 65 73 73 29 3b 0a 0a 09 09 58 55 6e 6d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e ess);....XUnmapWindow(dsply,.con
b480 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 09 09 58 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 28 64 straint_win);...XDestroyWindow(d
b4a0 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 09 09 75 6e 67 72 61 62 28 sply,.constraint_win);...ungrab(
b4c0 29 3b 0a 0a 09 09 66 6f 72 67 65 74 5f 68 69 64 64 65 6e 28 29 3b 0a 09 7d 0a 7d 0a 0a 76 6f 69 );....forget_hidden();..}.}..voi
b4e0 64 20 72 63 6c 69 63 6b 5f 74 61 73 6b 62 61 72 28 69 6e 74 20 78 29 0a 7b 0a 09 58 45 76 65 6e d.rclick_taskbar(int.x).{..XEven
b500 74 20 65 76 3b 0a 09 69 6e 74 20 6d 6f 75 73 65 78 2c 20 6d 6f 75 73 65 79 3b 0a 09 52 65 63 74 t.ev;..int.mousex,.mousey;..Rect
b520 20 62 6f 75 6e 64 64 69 6d 73 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 63 75 72 72 65 6e .bounddims;..unsigned.int.curren
b540 74 5f 69 74 65 6d 20 3d 20 55 49 4e 54 5f 4d 41 58 3b 0a 09 57 69 6e 64 6f 77 20 63 6f 6e 73 74 t_item.=.UINT_MAX;..Window.const
b560 72 61 69 6e 74 5f 77 69 6e 3b 0a 09 58 53 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 raint_win;..XSetWindowAttributes
b580 20 70 61 74 74 72 3b 0a 0a 09 67 65 74 5f 6d 6f 75 73 65 5f 70 6f 73 69 74 69 6f 6e 28 26 6d 6f .pattr;...get_mouse_position(&mo
b5a0 75 73 65 78 2c 20 26 6d 6f 75 73 65 79 29 3b 0a 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 78 20 3d 20 usex,.&mousey);...bounddims.x.=.
b5c0 30 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 79 20 3d 20 30 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 0;..bounddims.y.=.0;..bounddims.
b5e0 77 69 64 74 68 20 3d 20 44 69 73 70 6c 61 79 57 69 64 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 width.=.DisplayWidth(dsply,.scre
b600 65 6e 29 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 20 3d 20 42 41 52 48 45 49 47 en);..bounddims.height.=.BARHEIG
b620 48 54 28 29 3b 0a 0a 09 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 20 3d 20 58 43 72 65 61 74 65 HT();...constraint_win.=.XCreate
b640 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 78 2c Window(dsply,.root,.bounddims.x,
b660 20 62 6f 75 6e 64 64 69 6d 73 2e 79 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 77 69 64 74 68 2c 20 62 .bounddims.y,.bounddims.width,.b
b680 6f 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 2c 20 30 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 ounddims.height,.0,.CopyFromPare
b6a0 6e 74 2c 20 49 6e 70 75 74 4f 6e 6c 79 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 30 nt,.InputOnly,.CopyFromParent,.0
b6c0 2c 20 26 70 61 74 74 72 29 3b 0a 09 58 4d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f ,.&pattr);..XMapWindow(dsply,.co
b6e0 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 0a 09 69 66 20 28 21 28 58 47 72 61 62 50 6f 69 6e nstraint_win);...if.(!(XGrabPoin
b700 74 65 72 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 46 61 6c 73 65 2c 20 4d 6f 75 73 65 4d 61 73 ter(dsply,.root,.False,.MouseMas
b720 6b 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c k,.GrabModeAsync,.GrabModeAsync,
b740 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 2c 20 4e 6f 6e 65 2c 20 43 75 72 72 65 6e 74 54 69 .constraint_win,.None,.CurrentTi
b760 6d 65 29 20 3d 3d 20 47 72 61 62 53 75 63 63 65 73 73 29 29 0a 09 7b 0a 09 09 58 44 65 73 74 72 me).==.GrabSuccess))..{...XDestr
b780 6f 79 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b oyWindow(dsply,.constraint_win);
b7a0 0a 09 09 72 65 74 75 72 6e 3b 0a 09 7d 0a 09 64 72 61 77 5f 6d 65 6e 75 62 61 72 28 29 3b 0a 09 ...return;..}..draw_menubar();..
b7c0 75 70 64 61 74 65 5f 6d 65 6e 75 69 74 65 6d 28 49 4e 54 5f 4d 41 58 29 3b 20 2f 2f 20 66 6f 72 update_menuitem(INT_MAX);.//.for
b7e0 63 65 20 69 6e 69 74 69 61 6c 20 68 69 67 68 6c 69 67 68 74 0a 09 63 75 72 72 65 6e 74 5f 69 74 ce.initial.highlight..current_it
b800 65 6d 20 3d 20 75 70 64 61 74 65 5f 6d 65 6e 75 69 74 65 6d 28 78 29 3b 0a 09 64 6f 0a 09 7b 0a em.=.update_menuitem(x);..do..{.
b820 09 09 58 4d 61 73 6b 45 76 65 6e 74 28 64 73 70 6c 79 2c 20 4d 6f 75 73 65 4d 61 73 6b 7c 4b 65 ..XMaskEvent(dsply,.MouseMask|Ke
b840 79 4d 61 73 6b 2c 20 26 65 76 29 3b 0a 09 09 73 77 69 74 63 68 20 28 65 76 2e 74 79 70 65 29 0a yMask,.&ev);...switch.(ev.type).
b860 09 09 7b 0a 09 09 09 63 61 73 65 20 4d 6f 74 69 6f 6e 4e 6f 74 69 66 79 3a 0a 09 09 09 09 63 75 ..{....case.MotionNotify:.....cu
b880 72 72 65 6e 74 5f 69 74 65 6d 20 3d 20 75 70 64 61 74 65 5f 6d 65 6e 75 69 74 65 6d 28 65 76 2e rrent_item.=.update_menuitem(ev.
b8a0 78 6d 6f 74 69 6f 6e 2e 78 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 42 xmotion.x);.....break;....case.B
b8c0 75 74 74 6f 6e 52 65 6c 65 61 73 65 3a 0a 09 09 09 09 69 66 20 28 63 75 72 72 65 6e 74 5f 69 74 uttonRelease:.....if.(current_it
b8e0 65 6d 20 21 3d 20 55 49 4e 54 5f 4d 41 58 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 66 6f 72 6b 5f em.!=.UINT_MAX).....{......fork_
b900 65 78 65 63 28 6d 65 6e 75 69 74 65 6d 73 5b 63 75 72 72 65 6e 74 5f 69 74 65 6d 5d 2e 63 6f 6d exec(menuitems[current_item].com
b920 6d 61 6e 64 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 mand);.....}.....break;....case.
b940 4b 65 79 50 72 65 73 73 3a 0a 09 09 09 09 58 50 75 74 42 61 63 6b 45 76 65 6e 74 28 64 73 70 6c KeyPress:.....XPutBackEvent(dspl
b960 79 2c 20 26 65 76 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 7d 0a 09 7d 0a 09 77 68 69 6c y,.&ev);.....break;...}..}..whil
b980 65 20 28 65 76 2e 74 79 70 65 20 21 3d 20 42 75 74 74 6f 6e 50 72 65 73 73 20 26 26 20 65 76 2e e.(ev.type.!=.ButtonPress.&&.ev.
b9a0 74 79 70 65 20 21 3d 20 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 20 26 26 20 65 76 2e 74 79 70 65 type.!=.ButtonRelease.&&.ev.type
b9c0 20 21 3d 20 4b 65 79 50 72 65 73 73 29 3b 0a 0a 09 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 .!=.KeyPress);...redraw_taskbar(
b9e0 29 3b 0a 09 58 55 6e 6d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 69 );..XUnmapWindow(dsply,.constrai
ba00 6e 74 5f 77 69 6e 29 3b 0a 09 58 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 nt_win);..XDestroyWindow(dsply,.
ba20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 09 75 6e 67 72 61 62 28 29 3b 0a 7d 0a 0a 76 constraint_win);..ungrab();.}..v
ba40 6f 69 64 20 72 63 6c 69 63 6b 5f 72 6f 6f 74 28 76 6f 69 64 29 0a 7b 0a 09 58 45 76 65 6e 74 20 oid.rclick_root(void).{..XEvent.
ba60 65 76 3b 0a 09 69 66 20 28 21 67 72 61 62 28 72 6f 6f 74 2c 20 4d 6f 75 73 65 4d 61 73 6b 2c 20 ev;..if.(!grab(root,.MouseMask,.
ba80 4e 6f 6e 65 29 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 3b 0a 09 7d 0a 09 64 72 61 77 5f 6d 65 6e None))..{...return;..}..draw_men
baa0 75 62 61 72 28 29 3b 0a 09 64 6f 0a 09 7b 0a 09 09 58 4d 61 73 6b 45 76 65 6e 74 28 64 73 70 6c ubar();..do..{...XMaskEvent(dspl
bac0 79 2c 20 4d 6f 75 73 65 4d 61 73 6b 7c 4b 65 79 4d 61 73 6b 2c 20 26 65 76 29 3b 0a 09 09 73 77 y,.MouseMask|KeyMask,.&ev);...sw
bae0 69 74 63 68 20 28 65 76 2e 74 79 70 65 29 0a 09 09 7b 0a 09 09 09 63 61 73 65 20 4d 6f 74 69 6f itch.(ev.type)...{....case.Motio
bb00 6e 4e 6f 74 69 66 79 3a 0a 09 09 09 09 69 66 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 20 3c 20 nNotify:.....if.(ev.xmotion.y.<.
bb20 42 41 52 48 45 49 47 48 54 28 29 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 75 6e 67 72 61 62 28 29 BARHEIGHT()).....{......ungrab()
bb40 3b 0a 09 09 09 09 09 72 63 6c 69 63 6b 5f 74 61 73 6b 62 61 72 28 65 76 2e 78 6d 6f 74 69 6f 6e ;......rclick_taskbar(ev.xmotion
bb60 2e 78 29 3b 0a 09 09 09 09 09 72 65 74 75 72 6e 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 .x);......return;.....}.....brea
bb80 6b 3b 0a 09 09 09 63 61 73 65 20 4b 65 79 50 72 65 73 73 3a 0a 09 09 09 09 58 50 75 74 42 61 63 k;....case.KeyPress:.....XPutBac
bba0 6b 45 76 65 6e 74 28 64 73 70 6c 79 2c 20 26 65 76 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 kEvent(dsply,.&ev);.....break;..
bbc0 09 7d 0a 09 7d 0a 09 77 68 69 6c 65 20 28 65 76 2e 74 79 70 65 20 21 3d 20 42 75 74 74 6f 6e 52 .}..}..while.(ev.type.!=.ButtonR
bbe0 65 6c 65 61 73 65 20 26 26 20 65 76 2e 74 79 70 65 20 21 3d 20 4b 65 79 50 72 65 73 73 29 3b 0a elease.&&.ev.type.!=.KeyPress);.
bc00 0a 09 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 29 3b 0a 09 75 6e 67 72 61 62 28 29 3b 0a 7d ..redraw_taskbar();..ungrab();.}
bc20 0a 0a 76 6f 69 64 20 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 76 6f 69 64 29 0a 7b 0a 09 75 ..void.redraw_taskbar(void).{..u
bc40 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 3b 0a 09 69 6e 74 20 62 75 74 74 6f 6e 5f 73 74 61 72 74 nsigned.int.i;..int.button_start
bc60 78 2c 20 62 75 74 74 6f 6e 5f 69 77 69 64 74 68 3b 0a 09 66 6c 6f 61 74 20 62 75 74 74 6f 6e 5f x,.button_iwidth;..float.button_
bc80 77 69 64 74 68 3b 0a 09 43 6c 69 65 6e 74 20 2a 63 3b 0a 0a 09 62 75 74 74 6f 6e 5f 77 69 64 74 width;..Client.*c;...button_widt
bca0 68 20 3d 20 67 65 74 5f 62 75 74 74 6f 6e 5f 77 69 64 74 68 28 29 3b 0a 09 58 43 6c 65 61 72 57 h.=.get_button_width();..XClearW
bcc0 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 74 61 73 6b 62 61 72 29 3b 0a 0a 09 69 66 20 28 73 68 6f indow(dsply,.taskbar);...if.(sho
bce0 77 69 6e 67 5f 74 61 73 6b 62 61 72 20 3d 3d 20 30 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 3b 0a wing_taskbar.==.0)..{...return;.
bd00 09 7d 0a 0a 09 66 6f 72 20 28 63 20 3d 20 68 65 61 64 5f 63 6c 69 65 6e 74 2c 20 69 20 3d 20 30 .}...for.(c.=.head_client,.i.=.0
bd20 3b 20 63 20 21 3d 20 4e 55 4c 4c 3b 20 63 20 3d 20 63 2d 3e 6e 65 78 74 2c 20 69 2b 2b 29 0a 09 ;.c.!=.NULL;.c.=.c->next,.i++)..
bd40 7b 0a 09 09 62 75 74 74 6f 6e 5f 73 74 61 72 74 78 20 3d 20 28 69 6e 74 29 28 69 20 2a 20 62 75 {...button_startx.=.(int)(i.*.bu
bd60 74 74 6f 6e 5f 77 69 64 74 68 29 3b 0a 09 09 62 75 74 74 6f 6e 5f 69 77 69 64 74 68 20 3d 20 28 tton_width);...button_iwidth.=.(
bd80 75 6e 73 69 67 6e 65 64 20 69 6e 74 29 28 28 28 69 20 2b 20 31 29 20 2a 20 62 75 74 74 6f 6e 5f unsigned.int)(((i.+.1).*.button_
bda0 77 69 64 74 68 29 20 2d 20 62 75 74 74 6f 6e 5f 73 74 61 72 74 78 29 3b 0a 09 09 69 66 20 28 62 width).-.button_startx);...if.(b
bdc0 75 74 74 6f 6e 5f 73 74 61 72 74 78 20 21 3d 20 30 29 0a 09 09 7b 0a 09 09 09 58 44 72 61 77 4c utton_startx.!=.0)...{....XDrawL
bde0 69 6e 65 28 64 73 70 6c 79 2c 20 74 61 73 6b 62 61 72 2c 20 62 6f 72 64 65 72 5f 67 63 2c 20 62 ine(dsply,.taskbar,.border_gc,.b
be00 75 74 74 6f 6e 5f 73 74 61 72 74 78 20 2d 20 31 2c 20 30 2c 20 62 75 74 74 6f 6e 5f 73 74 61 72 utton_startx.-.1,.0,.button_star
be20 74 78 20 2d 20 31 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 tx.-.1,.BARHEIGHT().-.DEF_BORDER
be40 57 49 44 54 48 29 3b 0a 09 09 7d 0a 09 09 69 66 20 28 63 20 3d 3d 20 66 6f 63 75 73 65 64 5f 63 WIDTH);...}...if.(c.==.focused_c
be60 6c 69 65 6e 74 29 0a 09 09 7b 0a 09 09 09 58 46 69 6c 6c 52 65 63 74 61 6e 67 6c 65 28 64 73 70 lient)...{....XFillRectangle(dsp
be80 6c 79 2c 20 74 61 73 6b 62 61 72 2c 20 61 63 74 69 76 65 5f 67 63 2c 20 62 75 74 74 6f 6e 5f 73 ly,.taskbar,.active_gc,.button_s
bea0 74 61 72 74 78 2c 20 30 2c 20 62 75 74 74 6f 6e 5f 69 77 69 64 74 68 2c 20 42 41 52 48 45 49 47 tartx,.0,.button_iwidth,.BARHEIG
bec0 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 09 09 7d 0a 09 09 65 HT().-.DEF_BORDERWIDTH);...}...e
bee0 6c 73 65 0a 09 09 7b 0a 09 09 09 58 46 69 6c 6c 52 65 63 74 61 6e 67 6c 65 28 64 73 70 6c 79 2c lse...{....XFillRectangle(dsply,
bf00 20 74 61 73 6b 62 61 72 2c 20 69 6e 61 63 74 69 76 65 5f 67 63 2c 20 62 75 74 74 6f 6e 5f 73 74 .taskbar,.inactive_gc,.button_st
bf20 61 72 74 78 2c 20 30 2c 20 62 75 74 74 6f 6e 5f 69 77 69 64 74 68 2c 20 42 41 52 48 45 49 47 48 artx,.0,.button_iwidth,.BARHEIGH
bf40 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 09 09 7d 0a 09 09 69 66 T().-.DEF_BORDERWIDTH);...}...if
bf60 20 28 21 63 2d 3e 74 72 61 6e 73 20 26 26 20 63 2d 3e 6e 61 6d 65 20 21 3d 20 4e 55 4c 4c 29 0a .(!c->trans.&&.c->name.!=.NULL).
bf80 09 09 7b 0a 23 69 66 64 65 66 20 58 46 54 0a 09 09 09 58 66 74 44 72 61 77 53 74 72 69 6e 67 38 ..{.#ifdef.XFT....XftDrawString8
bfa0 28 74 62 78 66 74 64 72 61 77 2c 20 26 78 66 74 5f 64 65 74 61 69 6c 2c 20 78 66 74 66 6f 6e 74 (tbxftdraw,.&xft_detail,.xftfont
bfc0 2c 20 62 75 74 74 6f 6e 5f 73 74 61 72 74 78 20 2b 20 53 50 41 43 45 2c 20 53 50 41 43 45 20 2b ,.button_startx.+.SPACE,.SPACE.+
bfe0 20 78 66 74 66 6f 6e 74 2d 3e 61 73 63 65 6e 74 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 .xftfont->ascent,.(unsigned.char
c000 20 2a 29 63 2d 3e 6e 61 6d 65 2c 20 73 74 72 6c 65 6e 28 63 2d 3e 6e 61 6d 65 29 29 3b 0a 23 65 .*)c->name,.strlen(c->name));.#e
c020 6c 73 65 0a 09 09 09 58 44 72 61 77 53 74 72 69 6e 67 28 64 73 70 6c 79 2c 20 74 61 73 6b 62 61 lse....XDrawString(dsply,.taskba
c040 72 2c 20 74 65 78 74 5f 67 63 2c 20 62 75 74 74 6f 6e 5f 73 74 61 72 74 78 20 2b 20 53 50 41 43 r,.text_gc,.button_startx.+.SPAC
c060 45 2c 20 53 50 41 43 45 20 2b 20 66 6f 6e 74 2d 3e 61 73 63 65 6e 74 2c 20 63 2d 3e 6e 61 6d 65 E,.SPACE.+.font->ascent,.c->name
c080 2c 20 73 74 72 6c 65 6e 28 63 2d 3e 6e 61 6d 65 29 29 3b 0a 23 65 6e 64 69 66 0a 09 09 7d 0a 09 ,.strlen(c->name));.#endif...}..
c0a0 7d 0a 7d 0a 0a 76 6f 69 64 20 64 72 61 77 5f 6d 65 6e 75 62 61 72 28 76 6f 69 64 29 0a 7b 0a 09 }.}..void.draw_menubar(void).{..
c0c0 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 2c 20 64 77 3b 0a 09 64 77 20 3d 20 44 69 73 70 6c 61 unsigned.int.i,.dw;..dw.=.Displa
c0e0 79 57 69 64 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b 0a 09 58 46 69 6c 6c 52 65 63 yWidth(dsply,.screen);..XFillRec
c100 74 61 6e 67 6c 65 28 64 73 70 6c 79 2c 20 74 61 73 6b 62 61 72 2c 20 6d 65 6e 75 5f 67 63 2c 20 tangle(dsply,.taskbar,.menu_gc,.
c120 30 2c 20 30 2c 20 64 77 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 0,.0,.dw,.BARHEIGHT().-.DEF_BORD
c140 45 52 57 49 44 54 48 29 3b 0a 0a 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f ERWIDTH);...for.(i.=.0;.i.<.num_
c160 6d 65 6e 75 69 74 65 6d 73 3b 20 69 2b 2b 29 0a 09 7b 0a 09 09 69 66 20 28 6d 65 6e 75 69 74 65 menuitems;.i++)..{...if.(menuite
c180 6d 73 5b 69 5d 2e 6c 61 62 65 6c 20 26 26 20 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 63 6f 6d 6d ms[i].label.&&.menuitems[i].comm
c1a0 61 6e 64 29 0a 09 09 7b 0a 23 69 66 64 65 66 20 58 46 54 0a 09 09 09 58 66 74 44 72 61 77 53 74 and)...{.#ifdef.XFT....XftDrawSt
c1c0 72 69 6e 67 38 28 74 62 78 66 74 64 72 61 77 2c 20 26 78 66 74 5f 64 65 74 61 69 6c 2c 20 78 66 ring8(tbxftdraw,.&xft_detail,.xf
c1e0 74 66 6f 6e 74 2c 20 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 78 20 2b 20 28 53 50 41 43 45 20 2a tfont,.menuitems[i].x.+.(SPACE.*
c200 20 32 29 2c 20 78 66 74 66 6f 6e 74 2d 3e 61 73 63 65 6e 74 20 2b 20 53 50 41 43 45 2c 20 28 75 .2),.xftfont->ascent.+.SPACE,.(u
c220 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 nsigned.char.*)menuitems[i].labe
c240 6c 2c 20 73 74 72 6c 65 6e 28 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 29 29 3b 0a l,.strlen(menuitems[i].label));.
c260 23 65 6c 73 65 0a 09 09 09 58 44 72 61 77 53 74 72 69 6e 67 28 64 73 70 6c 79 2c 20 74 61 73 6b #else....XDrawString(dsply,.task
c280 62 61 72 2c 20 74 65 78 74 5f 67 63 2c 20 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 78 20 2b 20 28 bar,.text_gc,.menuitems[i].x.+.(
c2a0 53 50 41 43 45 20 2a 20 32 29 2c 20 66 6f 6e 74 2d 3e 61 73 63 65 6e 74 20 2b 20 53 50 41 43 45 SPACE.*.2),.font->ascent.+.SPACE
c2c0 2c 20 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 2c 20 73 74 72 6c 65 6e 28 6d 65 6e ,.menuitems[i].label,.strlen(men
c2e0 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 29 29 3b 0a 23 65 6e 64 69 66 0a 09 09 7d 0a 09 7d uitems[i].label));.#endif...}..}
c300 0a 7d 0a 0a 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 75 70 64 61 74 65 5f 6d 65 6e 75 69 74 65 6d .}..unsigned.int.update_menuitem
c320 28 69 6e 74 20 6d 6f 75 73 65 78 29 0a 7b 0a 09 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 (int.mousex).{..static.unsigned.
c340 69 6e 74 20 6c 61 73 74 5f 69 74 65 6d 3b 20 2f 2f 20 72 65 74 61 69 6e 20 76 61 6c 75 65 20 66 int.last_item;.//.retain.value.f
c360 72 6f 6d 20 6c 61 73 74 20 63 61 6c 6c 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 3b 0a 09 rom.last.call..unsigned.int.i;..
c380 69 66 20 28 6d 6f 75 73 65 78 20 3d 3d 20 49 4e 54 5f 4d 41 58 29 20 2f 2f 20 65 6e 74 65 72 65 if.(mousex.==.INT_MAX).//.entere
c3a0 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 73 65 74 20 6c 61 73 74 5f 69 74 65 6d 0a 09 7b 0a 09 d.function.to.set.last_item..{..
c3c0 09 6c 61 73 74 5f 69 74 65 6d 20 3d 20 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 3b 0a 09 09 72 65 .last_item.=.num_menuitems;...re
c3e0 74 75 72 6e 20 55 49 4e 54 5f 4d 41 58 3b 0a 09 7d 0a 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 turn.UINT_MAX;..}..for.(i.=.0;.i
c400 20 3c 20 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 3b 20 69 2b 2b 29 0a 09 7b 0a 09 09 69 66 20 28 .<.num_menuitems;.i++)..{...if.(
c420 28 6d 6f 75 73 65 78 20 3e 3d 20 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 78 29 20 26 26 20 28 6d (mousex.>=.menuitems[i].x).&&.(m
c440 6f 75 73 65 78 20 3c 3d 20 28 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 78 20 2b 20 6d 65 6e 75 69 ousex.<=.(menuitems[i].x.+.menui
c460 74 65 6d 73 5b 69 5d 2e 77 69 64 74 68 29 29 29 0a 09 09 7b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 tems[i].width)))...{....break;..
c480 09 7d 0a 09 7d 0a 0a 09 69 66 20 28 69 20 21 3d 20 6c 61 73 74 5f 69 74 65 6d 29 20 2f 2f 20 64 .}..}...if.(i.!=.last_item).//.d
c4a0 6f 6e 27 74 20 72 65 64 72 61 77 20 69 66 20 73 61 6d 65 0a 09 7b 0a 09 09 69 66 20 28 6c 61 73 on't.redraw.if.same..{...if.(las
c4c0 74 5f 69 74 65 6d 20 21 3d 20 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 29 0a 09 09 7b 0a 09 09 09 t_item.!=.num_menuitems)...{....
c4e0 64 72 61 77 5f 6d 65 6e 75 69 74 65 6d 28 6c 61 73 74 5f 69 74 65 6d 2c 20 30 29 3b 0a 09 09 7d draw_menuitem(last_item,.0);...}
c500 0a 09 09 69 66 20 28 69 20 21 3d 20 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 29 0a 09 09 7b 0a 09 ...if.(i.!=.num_menuitems)...{..
c520 09 09 64 72 61 77 5f 6d 65 6e 75 69 74 65 6d 28 69 2c 20 31 29 3b 0a 09 09 7d 0a 09 09 6c 61 73 ..draw_menuitem(i,.1);...}...las
c540 74 5f 69 74 65 6d 20 3d 20 69 3b 20 2f 2f 20 73 65 74 20 74 6f 20 6e 65 77 20 6d 65 6e 75 20 69 t_item.=.i;.//.set.to.new.menu.i
c560 74 65 6d 0a 09 7d 0a 0a 09 69 66 20 28 69 20 21 3d 20 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 29 tem..}...if.(i.!=.num_menuitems)
c580 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 69 3b 0a 09 7d 0a 09 65 6c 73 65 20 2f 2f 20 6e 6f 20 69 ..{...return.i;..}..else.//.no.i
c5a0 74 65 6d 20 73 65 6c 65 63 74 65 64 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 55 49 4e 54 5f 4d 41 tem.selected..{...return.UINT_MA
c5c0 58 3b 0a 09 7d 0a 7d 0a 0a 76 6f 69 64 20 64 72 61 77 5f 6d 65 6e 75 69 74 65 6d 28 75 6e 73 69 X;..}.}..void.draw_menuitem(unsi
c5e0 67 6e 65 64 20 69 6e 74 20 69 6e 64 65 78 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 61 63 74 gned.int.index,.unsigned.int.act
c600 69 76 65 29 0a 7b 0a 09 69 66 20 28 61 63 74 69 76 65 29 0a 09 7b 0a 09 09 58 46 69 6c 6c 52 65 ive).{..if.(active)..{...XFillRe
c620 63 74 61 6e 67 6c 65 28 64 73 70 6c 79 2c 20 74 61 73 6b 62 61 72 2c 20 73 65 6c 65 63 74 65 64 ctangle(dsply,.taskbar,.selected
c640 5f 67 63 2c 20 6d 65 6e 75 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 78 2c 20 30 2c 20 6d 65 6e 75 _gc,.menuitems[index].x,.0,.menu
c660 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 77 69 64 74 68 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 items[index].width,.BARHEIGHT().
c680 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a -.DEF_BORDERWIDTH);..}..else..{.
c6a0 09 09 58 46 69 6c 6c 52 65 63 74 61 6e 67 6c 65 28 64 73 70 6c 79 2c 20 74 61 73 6b 62 61 72 2c ..XFillRectangle(dsply,.taskbar,
c6c0 20 6d 65 6e 75 5f 67 63 2c 20 6d 65 6e 75 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 78 2c 20 30 2c .menu_gc,.menuitems[index].x,.0,
c6e0 20 6d 65 6e 75 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 77 69 64 74 68 2c 20 42 41 52 48 45 49 47 .menuitems[index].width,.BARHEIG
c700 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 09 7d 0a 23 69 66 64 HT().-.DEF_BORDERWIDTH);..}.#ifd
c720 65 66 20 58 46 54 0a 09 58 66 74 44 72 61 77 53 74 72 69 6e 67 38 28 74 62 78 66 74 64 72 61 77 ef.XFT..XftDrawString8(tbxftdraw
c740 2c 20 26 78 66 74 5f 64 65 74 61 69 6c 2c 20 78 66 74 66 6f 6e 74 2c 20 6d 65 6e 75 69 74 65 6d ,.&xft_detail,.xftfont,.menuitem
c760 73 5b 69 6e 64 65 78 5d 2e 78 20 2b 20 28 53 50 41 43 45 20 2a 20 32 29 2c 20 78 66 74 66 6f 6e s[index].x.+.(SPACE.*.2),.xftfon
c780 74 2d 3e 61 73 63 65 6e 74 20 2b 20 53 50 41 43 45 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 t->ascent.+.SPACE,.(unsigned.cha
c7a0 72 20 2a 29 6d 65 6e 75 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 6c 61 62 65 6c 2c 20 73 74 72 6c r.*)menuitems[index].label,.strl
c7c0 65 6e 28 6d 65 6e 75 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 6c 61 62 65 6c 29 29 3b 0a 23 65 6c en(menuitems[index].label));.#el
c7e0 73 65 0a 09 58 44 72 61 77 53 74 72 69 6e 67 28 64 73 70 6c 79 2c 20 74 61 73 6b 62 61 72 2c 20 se..XDrawString(dsply,.taskbar,.
c800 74 65 78 74 5f 67 63 2c 20 6d 65 6e 75 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 78 20 2b 20 28 53 text_gc,.menuitems[index].x.+.(S
c820 50 41 43 45 20 2a 20 32 29 2c 20 66 6f 6e 74 2d 3e 61 73 63 65 6e 74 20 2b 20 53 50 41 43 45 2c PACE.*.2),.font->ascent.+.SPACE,
c840 20 6d 65 6e 75 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 6c 61 62 65 6c 2c 20 73 74 72 6c 65 6e 28 .menuitems[index].label,.strlen(
c860 6d 65 6e 75 69 74 65 6d 73 5b 69 6e 64 65 78 5d 2e 6c 61 62 65 6c 29 29 3b 0a 23 65 6e 64 69 66 menuitems[index].label));.#endif
c880 0a 7d 0a 0a 66 6c 6f 61 74 20 67 65 74 5f 62 75 74 74 6f 6e 5f 77 69 64 74 68 28 76 6f 69 64 29 .}..float.get_button_width(void)
c8a0 0a 7b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6e 77 69 6e 73 20 3d 20 30 3b 0a 09 43 6c 69 .{..unsigned.int.nwins.=.0;..Cli
c8c0 65 6e 74 20 2a 63 20 3d 20 68 65 61 64 5f 63 6c 69 65 6e 74 3b 0a 09 77 68 69 6c 65 20 28 63 20 ent.*c.=.head_client;..while.(c.
c8e0 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 6e 77 69 6e 73 2b 2b 3b 0a 09 09 63 20 3d 20 63 2d 3e !=.NULL)..{...nwins++;...c.=.c->
c900 6e 65 78 74 3b 0a 09 7d 0a 09 72 65 74 75 72 6e 20 28 28 66 6c 6f 61 74 29 28 44 69 73 70 6c 61 next;..}..return.((float)(Displa
c920 79 57 69 64 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 20 2b 20 44 45 46 5f 42 4f 52 44 yWidth(dsply,.screen).+.DEF_BORD
c940 45 52 57 49 44 54 48 29 29 20 2f 20 6e 77 69 6e 73 3b 0a 7d 0a 0a 76 6f 69 64 20 63 79 63 6c 65 ERWIDTH))./.nwins;.}..void.cycle
c960 5f 70 72 65 76 69 6f 75 73 28 76 6f 69 64 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 66 _previous(void).{..Client.*c.=.f
c980 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 3b 0a 09 43 6c 69 65 6e 74 20 2a 6f 72 69 67 69 6e 61 6c ocused_client;..Client.*original
c9a0 5f 63 20 3d 20 63 3b 0a 09 69 66 20 28 68 65 61 64 5f 63 6c 69 65 6e 74 20 21 3d 20 4e 55 4c 4c _c.=.c;..if.(head_client.!=.NULL
c9c0 20 26 26 20 68 65 61 64 5f 63 6c 69 65 6e 74 2d 3e 6e 65 78 74 20 21 3d 20 4e 55 4c 4c 29 20 2f .&&.head_client->next.!=.NULL)./
c9e0 2f 20 61 74 20 6c 65 61 73 74 20 32 20 77 69 6e 64 6f 77 73 20 65 78 69 73 74 0a 09 7b 0a 09 09 /.at.least.2.windows.exist..{...
ca00 69 66 20 28 63 20 3d 3d 20 4e 55 4c 4c 29 0a 09 09 7b 0a 09 09 09 63 20 3d 20 68 65 61 64 5f 63 if.(c.==.NULL)...{....c.=.head_c
ca20 6c 69 65 6e 74 3b 0a 09 09 7d 0a 09 09 69 66 20 28 63 20 3d 3d 20 68 65 61 64 5f 63 6c 69 65 6e lient;...}...if.(c.==.head_clien
ca40 74 29 0a 09 09 7b 0a 09 09 09 6f 72 69 67 69 6e 61 6c 5f 63 20 3d 20 4e 55 4c 4c 3b 0a 09 09 7d t)...{....original_c.=.NULL;...}
ca60 0a 09 09 64 6f 0a 09 09 7b 0a 09 09 09 69 66 20 28 63 2d 3e 6e 65 78 74 20 3d 3d 20 4e 55 4c 4c ...do...{....if.(c->next.==.NULL
ca80 29 0a 09 09 09 7b 0a 09 09 09 09 63 20 3d 20 68 65 61 64 5f 63 6c 69 65 6e 74 3b 0a 09 09 09 7d )....{.....c.=.head_client;....}
caa0 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a 09 09 09 09 63 20 3d 20 63 2d 3e 6e 65 78 74 3b 0a 09 ....else....{.....c.=.c->next;..
cac0 09 09 7d 0a 09 09 7d 0a 09 09 77 68 69 6c 65 20 28 63 2d 3e 6e 65 78 74 20 21 3d 20 6f 72 69 67 ..}...}...while.(c->next.!=.orig
cae0 69 6e 61 6c 5f 63 29 3b 0a 09 09 6c 63 6c 69 63 6b 5f 74 61 73 6b 62 75 74 74 6f 6e 28 4e 55 4c inal_c);...lclick_taskbutton(NUL
cb00 4c 2c 20 63 29 3b 0a 09 7d 0a 7d 0a 0a 76 6f 69 64 20 63 79 63 6c 65 5f 6e 65 78 74 28 76 6f 69 L,.c);..}.}..void.cycle_next(voi
cb20 64 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 d).{..Client.*c.=.focused_client
cb40 3b 0a 09 69 66 20 28 68 65 61 64 5f 63 6c 69 65 6e 74 20 21 3d 20 4e 55 4c 4c 20 26 26 20 68 65 ;..if.(head_client.!=.NULL.&&.he
cb60 61 64 5f 63 6c 69 65 6e 74 2d 3e 6e 65 78 74 20 21 3d 20 4e 55 4c 4c 29 20 2f 2f 20 61 74 20 6c ad_client->next.!=.NULL).//.at.l
cb80 65 61 73 74 20 32 20 77 69 6e 64 6f 77 73 20 65 78 69 73 74 0a 09 7b 0a 09 09 69 66 20 28 63 20 east.2.windows.exist..{...if.(c.
cba0 3d 3d 20 4e 55 4c 4c 20 7c 7c 20 63 2d 3e 6e 65 78 74 20 3d 3d 20 4e 55 4c 4c 29 0a 09 09 7b 0a ==.NULL.||.c->next.==.NULL)...{.
cbc0 09 09 09 63 20 3d 20 68 65 61 64 5f 63 6c 69 65 6e 74 3b 0a 09 09 7d 0a 09 09 65 6c 73 65 20 63 ...c.=.head_client;...}...else.c
cbe0 20 3d 20 63 2d 3e 6e 65 78 74 3b 0a 09 09 6c 63 6c 69 63 6b 5f 74 61 73 6b 62 75 74 74 6f 6e 28 .=.c->next;...lclick_taskbutton(
cc00 4e 55 4c 4c 2c 20 63 29 3b 0a 09 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NULL,.c);..}.}..................
cc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ccc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ce00 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 6e 65 77 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 windowlab-1.40/new.c............
ce20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ce60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
ce80 30 30 31 34 30 36 36 00 31 31 33 35 36 31 35 35 33 34 34 00 30 31 33 30 33 31 00 20 30 00 00 00 0014066.11356155344.013031..0...
cea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cf00 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
cf20 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
d020 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
d040 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
d060 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
d080 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
d0a0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
d0c0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
d0e0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
d100 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
d120 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
d140 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
d160 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
d180 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
d1a0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
d1c0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
d1e0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
d200 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
d220 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
d240 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
d260 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
d280 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
d2a0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
d2c0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
d2e0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
d300 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
d320 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
d340 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 10-1301,.USA...*/..#include."win
d360 64 6f 77 6c 61 62 2e 68 22 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e 69 74 5f 70 6f 73 69 dowlab.h"..static.void.init_posi
d380 74 69 6f 6e 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 70 61 tion(Client.*);.static.void.repa
d3a0 72 65 6e 74 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 23 69 66 64 65 66 20 4d 57 4d 5f 48 49 4e 54 53 rent(Client.*);.#ifdef.MWM_HINTS
d3c0 0a 73 74 61 74 69 63 20 50 72 6f 70 4d 77 6d 48 69 6e 74 73 20 2a 67 65 74 5f 6d 77 6d 5f 68 69 .static.PropMwmHints.*get_mwm_hi
d3e0 6e 74 73 28 57 69 6e 64 6f 77 29 3b 0a 23 65 6e 64 69 66 0a 0a 2f 2a 20 53 65 74 20 75 70 20 61 nts(Window);.#endif../*.Set.up.a
d400 20 63 6c 69 65 6e 74 20 73 74 72 75 63 74 75 72 65 20 66 6f 72 20 74 68 65 20 6e 65 77 20 28 6e .client.structure.for.the.new.(n
d420 6f 74 2d 79 65 74 2d 6d 61 70 70 65 64 29 20 77 69 6e 64 6f 77 2e 20 54 68 65 0a 20 2a 20 63 6f ot-yet-mapped).window..The..*.co
d440 6e 66 75 73 69 6e 67 20 62 69 74 20 69 73 20 74 68 61 74 20 77 65 20 68 61 76 65 20 74 6f 20 69 nfusing.bit.is.that.we.have.to.i
d460 67 6e 6f 72 65 20 32 20 75 6e 6d 61 70 20 65 76 65 6e 74 73 20 69 66 20 74 68 65 0a 20 2a 20 63 gnore.2.unmap.events.if.the..*.c
d480 6c 69 65 6e 74 20 77 61 73 20 61 6c 72 65 61 64 79 20 6d 61 70 70 65 64 20 62 75 74 20 68 61 73 lient.was.already.mapped.but.has
d4a0 20 49 63 6f 6e 69 63 53 74 61 74 65 20 73 65 74 20 28 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 0a .IconicState.set.(for.instance,.
d4c0 20 2a 20 77 68 65 6e 20 77 65 20 61 72 65 20 74 68 65 20 73 65 63 6f 6e 64 20 77 69 6e 64 6f 77 .*.when.we.are.the.second.window
d4e0 20 6d 61 6e 61 67 65 72 20 69 6e 20 61 20 73 65 73 73 69 6f 6e 29 2e 20 54 68 61 74 27 73 0a 20 .manager.in.a.session)..That's..
d500 2a 20 62 65 63 61 75 73 65 20 74 68 65 72 65 27 73 20 6f 6e 65 20 66 6f 72 20 74 68 65 20 72 65 *.because.there's.one.for.the.re
d520 70 61 72 65 6e 74 20 28 77 68 69 63 68 20 68 61 70 70 65 6e 73 20 6f 6e 20 61 6c 6c 20 76 69 65 parent.(which.happens.on.all.vie
d540 77 61 62 6c 65 0a 20 2a 20 77 69 6e 64 6f 77 73 29 20 61 6e 64 20 74 68 65 6e 20 61 6e 6f 74 68 wable..*.windows).and.then.anoth
d560 65 72 20 66 6f 72 20 74 68 65 20 75 6e 6d 61 70 70 69 6e 67 20 69 74 73 65 6c 66 2e 20 2a 2f 0a er.for.the.unmapping.itself..*/.
d580 0a 76 6f 69 64 20 6d 61 6b 65 5f 6e 65 77 5f 63 6c 69 65 6e 74 28 57 69 6e 64 6f 77 20 77 29 0a .void.make_new_client(Window.w).
d5a0 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 2c 20 2a 70 3b 0a 09 58 57 69 6e 64 6f 77 41 74 74 72 69 62 {..Client.*c,.*p;..XWindowAttrib
d5c0 75 74 65 73 20 61 74 74 72 3b 0a 09 58 57 4d 48 69 6e 74 73 20 2a 68 69 6e 74 73 3b 0a 23 69 66 utes.attr;..XWMHints.*hints;.#if
d5e0 64 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a 09 50 72 6f 70 4d 77 6d 48 69 6e 74 73 20 2a 6d 68 69 def.MWM_HINTS..PropMwmHints.*mhi
d600 6e 74 73 3b 0a 23 65 6e 64 69 66 0a 09 6c 6f 6e 67 20 64 75 6d 6d 79 3b 0a 0a 09 63 20 3d 20 28 nts;.#endif..long.dummy;...c.=.(
d620 43 6c 69 65 6e 74 20 2a 29 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 20 2a 63 29 3b 0a 09 69 66 20 Client.*)malloc(sizeof.*c);..if.
d640 28 68 65 61 64 5f 63 6c 69 65 6e 74 20 3d 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 68 65 61 64 5f (head_client.==.NULL)..{...head_
d660 63 6c 69 65 6e 74 20 3d 20 63 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 70 20 3d 20 68 65 client.=.c;..}..else..{...p.=.he
d680 61 64 5f 63 6c 69 65 6e 74 3b 0a 09 09 77 68 69 6c 65 20 28 70 2d 3e 6e 65 78 74 20 21 3d 20 4e ad_client;...while.(p->next.!=.N
d6a0 55 4c 4c 29 0a 09 09 7b 0a 09 09 09 70 20 3d 20 70 2d 3e 6e 65 78 74 3b 0a 09 09 7d 0a 09 09 70 ULL)...{....p.=.p->next;...}...p
d6c0 2d 3e 6e 65 78 74 20 3d 20 63 3b 0a 09 7d 0a 09 63 2d 3e 6e 65 78 74 20 3d 20 4e 55 4c 4c 3b 0a ->next.=.c;..}..c->next.=.NULL;.
d6e0 0a 09 58 47 72 61 62 53 65 72 76 65 72 28 64 73 70 6c 79 29 3b 0a 0a 09 58 47 65 74 54 72 61 6e ..XGrabServer(dsply);...XGetTran
d700 73 69 65 6e 74 46 6f 72 48 69 6e 74 28 64 73 70 6c 79 2c 20 77 2c 20 26 63 2d 3e 74 72 61 6e 73 sientForHint(dsply,.w,.&c->trans
d720 29 3b 0a 09 58 46 65 74 63 68 4e 61 6d 65 28 64 73 70 6c 79 2c 20 77 2c 20 26 63 2d 3e 6e 61 6d );..XFetchName(dsply,.w,.&c->nam
d740 65 29 3b 0a 09 58 47 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 73 70 6c 79 2c e);..XGetWindowAttributes(dsply,
d760 20 77 2c 20 26 61 74 74 72 29 3b 0a 0a 09 63 2d 3e 77 69 6e 64 6f 77 20 3d 20 77 3b 0a 09 63 2d .w,.&attr);...c->window.=.w;..c-
d780 3e 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 20 3d 20 30 3b 0a 09 63 2d 3e 68 69 64 64 65 6e 20 3d 20 >ignore_unmap.=.0;..c->hidden.=.
d7a0 30 3b 0a 09 63 2d 3e 77 61 73 5f 68 69 64 64 65 6e 20 3d 20 30 3b 0a 23 69 66 64 65 66 20 53 48 0;..c->was_hidden.=.0;.#ifdef.SH
d7c0 41 50 45 0a 09 63 2d 3e 68 61 73 5f 62 65 65 6e 5f 73 68 61 70 65 64 20 3d 20 30 3b 0a 23 65 6e APE..c->has_been_shaped.=.0;.#en
d7e0 64 69 66 0a 09 63 2d 3e 78 20 3d 20 61 74 74 72 2e 78 3b 0a 09 63 2d 3e 79 20 3d 20 61 74 74 72 dif..c->x.=.attr.x;..c->y.=.attr
d800 2e 79 3b 0a 09 63 2d 3e 77 69 64 74 68 20 3d 20 61 74 74 72 2e 77 69 64 74 68 3b 0a 09 63 2d 3e .y;..c->width.=.attr.width;..c->
d820 68 65 69 67 68 74 20 3d 20 61 74 74 72 2e 68 65 69 67 68 74 3b 0a 09 63 2d 3e 63 6d 61 70 20 3d height.=.attr.height;..c->cmap.=
d840 20 61 74 74 72 2e 63 6f 6c 6f 72 6d 61 70 3b 0a 09 63 2d 3e 73 69 7a 65 20 3d 20 58 41 6c 6c 6f .attr.colormap;..c->size.=.XAllo
d860 63 53 69 7a 65 48 69 6e 74 73 28 29 3b 0a 09 58 47 65 74 57 4d 4e 6f 72 6d 61 6c 48 69 6e 74 73 cSizeHints();..XGetWMNormalHints
d880 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 63 2d 3e 73 69 7a 65 2c 20 26 64 75 6d (dsply,.c->window,.c->size,.&dum
d8a0 6d 79 29 3b 0a 23 69 66 64 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a 09 63 2d 3e 68 61 73 5f 74 69 my);.#ifdef.MWM_HINTS..c->has_ti
d8c0 74 6c 65 20 3d 20 31 3b 0a 09 63 2d 3e 68 61 73 5f 62 6f 72 64 65 72 20 3d 20 31 3b 0a 0a 09 69 tle.=.1;..c->has_border.=.1;...i
d8e0 66 20 28 28 6d 68 69 6e 74 73 20 3d 20 67 65 74 5f 6d 77 6d 5f 68 69 6e 74 73 28 63 2d 3e 77 69 f.((mhints.=.get_mwm_hints(c->wi
d900 6e 64 6f 77 29 29 29 0a 09 7b 0a 09 09 69 66 20 28 6d 68 69 6e 74 73 2d 3e 66 6c 61 67 73 20 26 ndow)))..{...if.(mhints->flags.&
d920 20 4d 57 4d 5f 48 49 4e 54 53 5f 44 45 43 4f 52 41 54 49 4f 4e 53 20 26 26 20 21 28 6d 68 69 6e .MWM_HINTS_DECORATIONS.&&.!(mhin
d940 74 73 2d 3e 64 65 63 6f 72 61 74 69 6f 6e 73 20 26 20 4d 57 4d 5f 44 45 43 4f 52 5f 41 4c 4c 29 ts->decorations.&.MWM_DECOR_ALL)
d960 29 0a 09 09 7b 0a 09 09 09 63 2d 3e 68 61 73 5f 74 69 74 6c 65 20 3d 20 6d 68 69 6e 74 73 2d 3e )...{....c->has_title.=.mhints->
d980 64 65 63 6f 72 61 74 69 6f 6e 73 20 26 20 4d 57 4d 5f 44 45 43 4f 52 5f 54 49 54 4c 45 3b 0a 09 decorations.&.MWM_DECOR_TITLE;..
d9a0 09 09 63 2d 3e 68 61 73 5f 62 6f 72 64 65 72 20 3d 20 6d 68 69 6e 74 73 2d 3e 64 65 63 6f 72 61 ..c->has_border.=.mhints->decora
d9c0 74 69 6f 6e 73 20 26 20 4d 57 4d 5f 44 45 43 4f 52 5f 42 4f 52 44 45 52 3b 0a 09 09 7d 0a 09 09 tions.&.MWM_DECOR_BORDER;...}...
d9e0 58 46 72 65 65 28 6d 68 69 6e 74 73 29 3b 0a 09 7d 0a 23 65 6e 64 69 66 0a 0a 09 2f 2f 20 58 52 XFree(mhints);..}.#endif...//.XR
da00 65 70 61 72 65 6e 74 57 69 6e 64 6f 77 20 73 65 65 6d 73 20 74 6f 20 74 72 79 20 61 6e 20 58 55 eparentWindow.seems.to.try.an.XU
da20 6e 6d 61 70 57 69 6e 64 6f 77 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 nmapWindow,.regardless.of.whethe
da40 72 20 74 68 65 20 72 65 70 61 72 65 6e 74 65 64 20 77 69 6e 64 6f 77 20 69 73 20 6d 61 70 70 65 r.the.reparented.window.is.mappe
da60 64 20 6f 72 20 6e 6f 74 0a 09 63 2d 3e 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 2b 2b 3b 0a 09 0a 09 d.or.not..c->ignore_unmap++;....
da80 69 66 20 28 61 74 74 72 2e 6d 61 70 5f 73 74 61 74 65 20 21 3d 20 49 73 56 69 65 77 61 62 6c 65 if.(attr.map_state.!=.IsViewable
daa0 29 0a 09 7b 0a 09 09 69 6e 69 74 5f 70 6f 73 69 74 69 6f 6e 28 63 29 3b 0a 09 09 73 65 74 5f 77 )..{...init_position(c);...set_w
dac0 6d 5f 73 74 61 74 65 28 63 2c 20 4e 6f 72 6d 61 6c 53 74 61 74 65 29 3b 0a 09 09 69 66 20 28 28 m_state(c,.NormalState);...if.((
dae0 68 69 6e 74 73 20 3d 20 58 47 65 74 57 4d 48 69 6e 74 73 28 64 73 70 6c 79 2c 20 77 29 29 29 0a hints.=.XGetWMHints(dsply,.w))).
db00 09 09 7b 0a 09 09 09 69 66 20 28 68 69 6e 74 73 2d 3e 66 6c 61 67 73 20 26 20 53 74 61 74 65 48 ..{....if.(hints->flags.&.StateH
db20 69 6e 74 29 0a 09 09 09 7b 0a 09 09 09 09 73 65 74 5f 77 6d 5f 73 74 61 74 65 28 63 2c 20 68 69 int)....{.....set_wm_state(c,.hi
db40 6e 74 73 2d 3e 69 6e 69 74 69 61 6c 5f 73 74 61 74 65 29 3b 0a 09 09 09 7d 0a 09 09 09 58 46 72 nts->initial_state);....}....XFr
db60 65 65 28 68 69 6e 74 73 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 66 69 78 5f 70 6f 73 69 74 69 6f 6e ee(hints);...}..}...fix_position
db80 28 63 29 3b 0a 09 67 72 61 76 69 74 61 74 65 28 63 2c 20 41 50 50 4c 59 5f 47 52 41 56 49 54 59 (c);..gravitate(c,.APPLY_GRAVITY
dba0 29 3b 0a 09 72 65 70 61 72 65 6e 74 28 63 29 3b 0a 0a 23 69 66 64 65 66 20 58 46 54 0a 09 63 2d );..reparent(c);..#ifdef.XFT..c-
dbc0 3e 78 66 74 64 72 61 77 20 3d 20 58 66 74 44 72 61 77 43 72 65 61 74 65 28 64 73 70 6c 79 2c 20 >xftdraw.=.XftDrawCreate(dsply,.
dbe0 28 44 72 61 77 61 62 6c 65 29 20 63 2d 3e 66 72 61 6d 65 2c 20 44 65 66 61 75 6c 74 56 69 73 75 (Drawable).c->frame,.DefaultVisu
dc00 61 6c 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 53 63 72 65 65 6e 28 64 73 70 6c 79 29 29 2c al(dsply,.DefaultScreen(dsply)),
dc20 20 44 65 66 61 75 6c 74 43 6f 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 53 .DefaultColormap(dsply,.DefaultS
dc40 63 72 65 65 6e 28 64 73 70 6c 79 29 29 29 3b 0a 23 65 6e 64 69 66 0a 0a 09 69 66 20 28 67 65 74 creen(dsply)));.#endif...if.(get
dc60 5f 77 6d 5f 73 74 61 74 65 28 63 29 20 21 3d 20 49 63 6f 6e 69 63 53 74 61 74 65 29 0a 09 7b 0a _wm_state(c).!=.IconicState)..{.
dc80 09 09 58 4d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 29 3b 0a ..XMapWindow(dsply,.c->window);.
dca0 09 09 58 4d 61 70 52 61 69 73 65 64 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 29 3b 0a 0a ..XMapRaised(dsply,.c->frame);..
dcc0 09 09 74 6f 70 6d 6f 73 74 5f 63 6c 69 65 6e 74 20 3d 20 63 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 ..topmost_client.=.c;..}..else..
dce0 7b 0a 09 09 63 2d 3e 68 69 64 64 65 6e 20 3d 20 31 3b 0a 09 09 69 66 28 61 74 74 72 2e 6d 61 70 {...c->hidden.=.1;...if(attr.map
dd00 5f 73 74 61 74 65 20 3d 3d 20 49 73 56 69 65 77 61 62 6c 65 29 0a 09 09 7b 0a 09 09 09 63 2d 3e _state.==.IsViewable)...{....c->
dd20 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 2b 2b 3b 0a 09 09 09 58 55 6e 6d 61 70 57 69 6e 64 6f 77 28 ignore_unmap++;....XUnmapWindow(
dd40 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 2f 2f 20 69 dsply,.c->window);...}..}...//.i
dd60 66 20 6e 6f 20 63 6c 69 65 6e 74 20 68 61 73 20 66 6f 63 75 73 20 67 69 76 65 20 66 6f 63 75 73 f.no.client.has.focus.give.focus
dd80 20 74 6f 20 74 68 65 20 6e 65 77 20 63 6c 69 65 6e 74 0a 09 69 66 20 28 66 6f 63 75 73 65 64 5f .to.the.new.client..if.(focused_
dda0 63 6c 69 65 6e 74 20 3d 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 63 68 65 63 6b 5f 66 6f 63 75 73 client.==.NULL)..{...check_focus
ddc0 28 63 29 3b 0a 09 09 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 20 3d 20 63 3b 0a 09 7d 0a 0a 09 (c);...focused_client.=.c;..}...
dde0 58 53 79 6e 63 28 64 73 70 6c 79 2c 20 46 61 6c 73 65 29 3b 0a 09 58 55 6e 67 72 61 62 53 65 72 XSync(dsply,.False);..XUngrabSer
de00 76 65 72 28 64 73 70 6c 79 29 3b 0a 0a 09 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 29 3b 0a ver(dsply);...redraw_taskbar();.
de20 7d 0a 0a 2f 2a 20 54 68 69 73 20 6f 6e 65 20 64 6f 65 73 20 2a 6e 6f 74 2a 20 66 72 65 65 20 74 }../*.This.one.does.*not*.free.t
de40 68 65 20 64 61 74 61 20 63 6f 6d 69 6e 67 20 62 61 63 6b 20 66 72 6f 6d 20 58 6c 69 62 3b 20 69 he.data.coming.back.from.Xlib;.i
de60 74 20 6a 75 73 74 0a 20 2a 20 73 65 6e 64 73 20 62 61 63 6b 20 74 68 65 20 70 6f 69 6e 74 65 72 t.just..*.sends.back.the.pointer
de80 20 74 6f 20 77 68 61 74 20 77 61 73 20 61 6c 6c 6f 63 61 74 65 64 2e 20 2a 2f 0a 0a 23 69 66 64 .to.what.was.allocated..*/..#ifd
dea0 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a 73 74 61 74 69 63 20 50 72 6f 70 4d 77 6d 48 69 6e 74 73 ef.MWM_HINTS.static.PropMwmHints
dec0 20 2a 67 65 74 5f 6d 77 6d 5f 68 69 6e 74 73 28 57 69 6e 64 6f 77 20 77 29 0a 7b 0a 09 41 74 6f .*get_mwm_hints(Window.w).{..Ato
dee0 6d 20 72 65 61 6c 5f 74 79 70 65 3b 0a 09 69 6e 74 20 72 65 61 6c 5f 66 6f 72 6d 61 74 3b 0a 09 m.real_type;..int.real_format;..
df00 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 74 65 6d 73 5f 72 65 61 64 2c 20 69 74 65 6d 73 5f unsigned.long.items_read,.items_
df20 6c 65 66 74 3b 0a 09 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 64 61 74 61 3b 0a 0a 09 69 66 left;..unsigned.char.*data;...if
df40 20 28 58 47 65 74 57 69 6e 64 6f 77 50 72 6f 70 65 72 74 79 28 64 73 70 6c 79 2c 20 77 2c 20 6d .(XGetWindowProperty(dsply,.w,.m
df60 77 6d 5f 68 69 6e 74 73 2c 20 30 4c 2c 20 32 30 4c 2c 20 46 61 6c 73 65 2c 20 6d 77 6d 5f 68 69 wm_hints,.0L,.20L,.False,.mwm_hi
df80 6e 74 73 2c 20 26 72 65 61 6c 5f 74 79 70 65 2c 20 26 72 65 61 6c 5f 66 6f 72 6d 61 74 2c 20 26 nts,.&real_type,.&real_format,.&
dfa0 69 74 65 6d 73 5f 72 65 61 64 2c 20 26 69 74 65 6d 73 5f 6c 65 66 74 2c 20 26 64 61 74 61 29 20 items_read,.&items_left,.&data).
dfc0 3d 3d 20 53 75 63 63 65 73 73 20 26 26 20 69 74 65 6d 73 5f 72 65 61 64 20 3e 3d 20 50 52 4f 50 ==.Success.&&.items_read.>=.PROP
dfe0 5f 4d 57 4d 5f 48 49 4e 54 53 5f 45 4c 45 4d 45 4e 54 53 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e _MWM_HINTS_ELEMENTS)..{...return
e000 20 28 50 72 6f 70 4d 77 6d 48 69 6e 74 73 20 2a 29 64 61 74 61 3b 0a 09 7d 0a 09 65 6c 73 65 0a .(PropMwmHints.*)data;..}..else.
e020 09 7b 0a 09 09 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 0a 09 7d 0a 7d 0a 23 65 6e 64 69 66 0a 0a 2f .{...return.NULL;..}.}.#endif../
e040 2a 20 46 69 67 75 72 65 20 6f 75 74 20 77 68 65 72 65 20 74 6f 20 6d 61 70 20 74 68 65 20 77 69 *.Figure.out.where.to.map.the.wi
e060 6e 64 6f 77 2e 20 63 2d 3e 78 2c 20 63 2d 3e 79 2c 20 63 2d 3e 77 69 64 74 68 2c 20 61 6e 64 0a ndow..c->x,.c->y,.c->width,.and.
e080 20 2a 20 63 2d 3e 68 65 69 67 68 74 20 61 63 74 75 61 6c 6c 79 20 73 74 61 72 74 20 6f 75 74 20 .*.c->height.actually.start.out.
e0a0 77 69 74 68 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 6d 20 28 77 68 61 74 65 76 65 72 20 74 68 with.values.in.them.(whatever.th
e0c0 65 0a 20 2a 20 63 6c 69 65 6e 74 20 70 61 73 73 65 64 20 74 6f 20 58 43 72 65 61 74 65 57 69 6e e..*.client.passed.to.XCreateWin
e0e0 64 6f 77 29 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 49 43 43 4d 20 73 61 79 73 20 74 68 61 74 20 74 dow)...*..*.The.ICCM.says.that.t
e100 68 65 72 65 20 61 72 65 20 6e 6f 20 70 6f 73 69 74 69 6f 6e 2f 73 69 7a 65 20 66 69 65 6c 64 73 here.are.no.position/size.fields
e120 20 61 6e 79 6d 6f 72 65 20 61 6e 64 0a 20 2a 20 74 68 65 20 53 65 74 57 4d 4e 6f 72 6d 61 6c 48 .anymore.and..*.the.SetWMNormalH
e140 69 6e 74 73 20 73 61 79 73 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 6f 62 73 6f 6c 65 74 65 ints.says.that.they.are.obsolete
e160 2c 20 73 6f 20 77 65 20 75 73 65 20 74 68 65 20 76 61 6c 75 65 73 0a 20 2a 20 77 65 20 67 6f 74 ,.so.we.use.the.values..*.we.got
e180 20 66 72 6f 6d 20 74 68 65 20 77 69 6e 64 6f 77 20 61 74 74 72 69 62 75 74 65 73 0a 20 2a 20 57 .from.the.window.attributes..*.W
e1a0 65 20 68 6f 6e 6f 75 72 20 62 6f 74 68 20 70 72 6f 67 72 61 6d 20 61 6e 64 20 75 73 65 72 20 70 e.honour.both.program.and.user.p
e1c0 72 65 66 65 72 65 6e 63 65 73 0a 20 2a 0a 20 2a 20 49 66 20 77 65 20 63 61 6e 27 74 20 66 69 6e references..*..*.If.we.can't.fin
e1e0 64 20 61 20 72 65 61 73 6f 6e 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 20 68 69 6e 74 2c 20 77 65 d.a.reasonable.position.hint,.we
e200 20 6d 61 6b 65 20 75 70 20 61 20 70 6f 73 69 74 69 6f 6e 0a 20 2a 20 75 73 69 6e 67 20 74 68 65 .make.up.a.position..*.using.the
e220 20 72 65 6c 61 74 69 76 65 20 6d 6f 75 73 65 20 63 6f 2d 6f 72 64 69 6e 61 74 65 73 20 61 6e 64 .relative.mouse.co-ordinates.and
e240 20 77 69 6e 64 6f 77 20 73 69 7a 65 2e 20 54 6f 20 61 63 63 6f 75 6e 74 0a 20 2a 20 66 6f 72 20 .window.size..To.account..*.for.
e260 77 69 6e 64 6f 77 20 67 72 61 76 69 74 79 20 77 68 69 6c 65 20 64 6f 69 6e 67 20 74 68 69 73 2c window.gravity.while.doing.this,
e280 20 77 65 20 61 64 64 20 42 41 52 48 45 49 47 48 54 28 29 20 69 6e 74 6f 20 74 68 65 0a 20 2a 20 .we.add.BARHEIGHT().into.the..*.
e2a0 63 61 6c 63 75 6c 61 74 69 6f 6e 20 61 6e 64 20 74 68 65 6e 20 64 65 67 72 61 76 69 74 61 74 65 calculation.and.then.degravitate
e2c0 2e 20 44 6f 6e 27 74 20 74 68 69 6e 6b 20 61 62 6f 75 74 20 69 74 20 74 6f 6f 20 68 61 72 64 2c ..Don't.think.about.it.too.hard,
e2e0 20 6f 72 0a 20 2a 20 79 6f 75 72 20 68 65 61 64 20 77 69 6c 6c 20 65 78 70 6c 6f 64 65 2e 20 2a .or..*.your.head.will.explode..*
e300 2f 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e 69 74 5f 70 6f 73 69 74 69 6f 6e 28 43 6c 69 /..static.void.init_position(Cli
e320 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 6e 74 20 6d 6f 75 73 65 78 2c 20 6d 6f 75 73 65 79 3b 0a 0a ent.*c).{..int.mousex,.mousey;..
e340 09 2f 2f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 27 73 20 62 69 67 20 65 6e 6f 75 67 68 20 66 6f .//.make.sure.it's.big.enough.fo
e360 72 20 74 68 65 20 33 20 62 75 74 74 6f 6e 73 20 61 6e 64 20 61 20 62 69 74 20 6f 66 20 62 61 72 r.the.3.buttons.and.a.bit.of.bar
e380 0a 09 69 66 20 28 63 2d 3e 77 69 64 74 68 20 3c 20 34 20 2a 20 42 41 52 48 45 49 47 48 54 28 29 ..if.(c->width.<.4.*.BARHEIGHT()
e3a0 29 0a 09 7b 0a 09 09 63 2d 3e 77 69 64 74 68 20 3d 20 34 20 2a 20 42 41 52 48 45 49 47 48 54 28 )..{...c->width.=.4.*.BARHEIGHT(
e3c0 29 3b 0a 09 7d 0a 09 69 66 20 28 63 2d 3e 68 65 69 67 68 74 20 3c 20 42 41 52 48 45 49 47 48 54 );..}..if.(c->height.<.BARHEIGHT
e3e0 28 29 29 0a 09 7b 0a 09 09 63 2d 3e 68 65 69 67 68 74 20 3d 20 42 41 52 48 45 49 47 48 54 28 29 ())..{...c->height.=.BARHEIGHT()
e400 3b 0a 09 7d 0a 0a 09 69 66 20 28 63 2d 3e 78 20 3d 3d 20 30 20 26 26 20 63 2d 3e 79 20 3d 3d 20 ;..}...if.(c->x.==.0.&&.c->y.==.
e420 30 29 0a 09 7b 0a 09 09 67 65 74 5f 6d 6f 75 73 65 5f 70 6f 73 69 74 69 6f 6e 28 26 6d 6f 75 73 0)..{...get_mouse_position(&mous
e440 65 78 2c 20 26 6d 6f 75 73 65 79 29 3b 0a 09 09 63 2d 3e 78 20 3d 20 6d 6f 75 73 65 78 3b 0a 09 ex,.&mousey);...c->x.=.mousex;..
e460 09 63 2d 3e 79 20 3d 20 6d 6f 75 73 65 79 20 2b 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 09 .c->y.=.mousey.+.BARHEIGHT();...
e480 67 72 61 76 69 74 61 74 65 28 63 2c 20 52 45 4d 4f 56 45 5f 47 52 41 56 49 54 59 29 3b 0a 09 7d gravitate(c,.REMOVE_GRAVITY);..}
e4a0 0a 7d 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 70 61 72 65 6e 74 28 43 6c 69 65 6e 74 20 .}..static.void.reparent(Client.
e4c0 2a 63 29 0a 7b 0a 09 58 53 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 70 61 74 74 *c).{..XSetWindowAttributes.patt
e4e0 72 3b 0a 0a 09 70 61 74 74 72 2e 6f 76 65 72 72 69 64 65 5f 72 65 64 69 72 65 63 74 20 3d 20 54 r;...pattr.override_redirect.=.T
e500 72 75 65 3b 0a 09 70 61 74 74 72 2e 62 61 63 6b 67 72 6f 75 6e 64 5f 70 69 78 65 6c 20 3d 20 65 rue;..pattr.background_pixel.=.e
e520 6d 70 74 79 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 70 61 74 74 72 2e 62 6f 72 64 65 72 5f 70 69 mpty_col.pixel;..pattr.border_pi
e540 78 65 6c 20 3d 20 62 6f 72 64 65 72 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 70 61 74 74 72 2e 65 xel.=.border_col.pixel;..pattr.e
e560 76 65 6e 74 5f 6d 61 73 6b 20 3d 20 43 68 69 6c 64 4d 61 73 6b 7c 42 75 74 74 6f 6e 50 72 65 73 vent_mask.=.ChildMask|ButtonPres
e580 73 4d 61 73 6b 7c 45 78 70 6f 73 75 72 65 4d 61 73 6b 7c 45 6e 74 65 72 57 69 6e 64 6f 77 4d 61 sMask|ExposureMask|EnterWindowMa
e5a0 73 6b 3b 0a 09 63 2d 3e 66 72 61 6d 65 20 3d 20 58 43 72 65 61 74 65 57 69 6e 64 6f 77 28 64 73 sk;..c->frame.=.XCreateWindow(ds
e5c0 70 6c 79 2c 20 72 6f 6f 74 2c 20 63 2d 3e 78 2c 20 63 2d 3e 79 20 2d 20 42 41 52 48 45 49 47 48 ply,.root,.c->x,.c->y.-.BARHEIGH
e5e0 54 28 29 2c 20 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 68 65 69 67 68 74 20 2b 20 42 41 52 48 45 T(),.c->width,.c->height.+.BARHE
e600 49 47 48 54 28 29 2c 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 2c 20 44 65 66 61 75 6c 74 44 IGHT(),.BORDERWIDTH(c),.DefaultD
e620 65 70 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 epth(dsply,.screen),.CopyFromPar
e640 65 6e 74 2c 20 44 65 66 61 75 6c 74 56 69 73 75 61 6c 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e ent,.DefaultVisual(dsply,.screen
e660 29 2c 20 43 57 4f 76 65 72 72 69 64 65 52 65 64 69 72 65 63 74 7c 43 57 42 61 63 6b 50 69 78 65 ),.CWOverrideRedirect|CWBackPixe
e680 6c 7c 43 57 42 6f 72 64 65 72 50 69 78 65 6c 7c 43 57 45 76 65 6e 74 4d 61 73 6b 2c 20 26 70 61 l|CWBorderPixel|CWEventMask,.&pa
e6a0 74 74 72 29 3b 0a 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 09 69 66 20 28 73 68 61 70 65 29 0a ttr);..#ifdef.SHAPE..if.(shape).
e6c0 09 7b 0a 09 09 58 53 68 61 70 65 53 65 6c 65 63 74 49 6e 70 75 74 28 64 73 70 6c 79 2c 20 63 2d .{...XShapeSelectInput(dsply,.c-
e6e0 3e 77 69 6e 64 6f 77 2c 20 53 68 61 70 65 4e 6f 74 69 66 79 4d 61 73 6b 29 3b 0a 09 09 73 65 74 >window,.ShapeNotifyMask);...set
e700 5f 73 68 61 70 65 28 63 29 3b 0a 09 7d 0a 23 65 6e 64 69 66 0a 0a 09 58 41 64 64 54 6f 53 61 76 _shape(c);..}.#endif...XAddToSav
e720 65 53 65 74 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 29 3b 0a 09 58 53 65 6c 65 63 74 eSet(dsply,.c->window);..XSelect
e740 49 6e 70 75 74 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 43 6f 6c 6f 72 6d 61 70 Input(dsply,.c->window,.Colormap
e760 43 68 61 6e 67 65 4d 61 73 6b 7c 50 72 6f 70 65 72 74 79 43 68 61 6e 67 65 4d 61 73 6b 29 3b 0a ChangeMask|PropertyChangeMask);.
e780 09 58 53 65 74 57 69 6e 64 6f 77 42 6f 72 64 65 72 57 69 64 74 68 28 64 73 70 6c 79 2c 20 63 2d .XSetWindowBorderWidth(dsply,.c-
e7a0 3e 77 69 6e 64 6f 77 2c 20 30 29 3b 0a 09 58 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 64 73 70 6c >window,.0);..XResizeWindow(dspl
e7c0 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 68 65 69 67 68 y,.c->window,.c->width,.c->heigh
e7e0 74 29 3b 0a 09 58 52 65 70 61 72 65 6e 74 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 77 t);..XReparentWindow(dsply,.c->w
e800 69 6e 64 6f 77 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 30 2c 20 42 41 52 48 45 49 47 48 54 28 29 29 indow,.c->frame,.0,.BARHEIGHT())
e820 3b 0a 0a 09 73 65 6e 64 5f 63 6f 6e 66 69 67 28 63 29 3b 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 ;...send_config(c);.}...........
e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea00 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 6d 69 73 63 2e 63 00 00 00 00 00 00 00 00 00 00 00 windowlab-1.40/misc.c...........
ea20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
ea80 30 30 32 30 30 30 30 00 31 31 33 35 36 31 35 35 33 33 36 00 30 31 33 31 35 35 00 20 30 00 00 00 0020000.11356155336.013155..0...
eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb00 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
eb20 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec00 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
ec20 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
ec40 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
ec60 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
ec80 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
eca0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
ecc0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
ece0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
ed00 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
ed20 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
ed40 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
ed60 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
ed80 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
eda0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
edc0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
ede0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
ee00 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
ee20 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
ee40 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
ee60 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
ee80 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
eea0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
eec0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
eee0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
ef00 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
ef20 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
ef40 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 10-1301,.USA...*/..#include.<std
ef60 61 72 67 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 0a 23 69 6e 63 6c arg.h>.#include.<string.h>.#incl
ef80 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e ude.<unistd.h>.#include.<signal.
efa0 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 77 61 69 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 h>.#include.<sys/wait.h>.#includ
efc0 65 20 22 77 69 6e 64 6f 77 6c 61 62 2e 68 22 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 71 75 69 e."windowlab.h"..static.void.qui
efe0 74 5f 6e 69 63 65 6c 79 28 76 6f 69 64 29 3b 0a 0a 76 6f 69 64 20 65 72 72 28 63 6f 6e 73 74 20 t_nicely(void);..void.err(const.
f000 63 68 61 72 20 2a 66 6d 74 2c 20 2e 2e 2e 29 0a 7b 0a 09 76 61 5f 6c 69 73 74 20 61 72 67 70 3b char.*fmt,....).{..va_list.argp;
f020 0a 0a 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 77 69 6e 64 6f 77 6c 61 62 3a 20 22 ...fprintf(stderr,."windowlab:."
f040 29 3b 0a 09 76 61 5f 73 74 61 72 74 28 61 72 67 70 2c 20 66 6d 74 29 3b 0a 09 76 66 70 72 69 6e );..va_start(argp,.fmt);..vfprin
f060 74 66 28 73 74 64 65 72 72 2c 20 66 6d 74 2c 20 61 72 67 70 29 3b 0a 09 76 61 5f 65 6e 64 28 61 tf(stderr,.fmt,.argp);..va_end(a
f080 72 67 70 29 3b 0a 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 5c 6e 22 29 3b 0a 7d 0a rgp);..fprintf(stderr,."\n");.}.
f0a0 0a 76 6f 69 64 20 66 6f 72 6b 5f 65 78 65 63 28 63 68 61 72 20 2a 63 6d 64 29 0a 7b 0a 09 63 68 .void.fork_exec(char.*cmd).{..ch
f0c0 61 72 20 2a 65 6e 76 73 68 65 6c 6c 2c 20 2a 65 6e 76 73 68 65 6c 6c 6e 61 6d 65 3b 0a 09 70 69 ar.*envshell,.*envshellname;..pi
f0e0 64 5f 74 20 70 69 64 20 3d 20 66 6f 72 6b 28 29 3b 0a 0a 09 73 77 69 74 63 68 20 28 70 69 64 29 d_t.pid.=.fork();...switch.(pid)
f100 0a 09 7b 0a 20 20 09 09 63 61 73 65 20 30 3a 0a 09 09 09 73 65 74 73 69 64 28 29 3b 0a 09 09 09 ..{.....case.0:....setsid();....
f120 65 6e 76 73 68 65 6c 6c 20 3d 20 67 65 74 65 6e 76 28 22 53 48 45 4c 4c 22 29 3b 0a 09 09 09 69 envshell.=.getenv("SHELL");....i
f140 66 20 28 65 6e 76 73 68 65 6c 6c 20 3d 3d 20 4e 55 4c 4c 29 0a 09 09 09 7b 0a 09 09 09 09 65 6e f.(envshell.==.NULL)....{.....en
f160 76 73 68 65 6c 6c 20 3d 20 22 2f 62 69 6e 2f 73 68 22 3b 0a 09 09 09 7d 0a 09 09 09 65 6e 76 73 vshell.=."/bin/sh";....}....envs
f180 68 65 6c 6c 6e 61 6d 65 20 3d 20 73 74 72 72 63 68 72 28 65 6e 76 73 68 65 6c 6c 2c 20 27 2f 27 hellname.=.strrchr(envshell,.'/'
f1a0 29 3b 0a 09 09 09 69 66 20 28 65 6e 76 73 68 65 6c 6c 6e 61 6d 65 20 3d 3d 20 4e 55 4c 4c 29 0a );....if.(envshellname.==.NULL).
f1c0 09 09 09 7b 0a 09 09 09 09 65 6e 76 73 68 65 6c 6c 6e 61 6d 65 20 3d 20 65 6e 76 73 68 65 6c 6c ...{.....envshellname.=.envshell
f1e0 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a 09 09 09 09 2f 2a 20 6d 6f 76 65 20 ;....}....else....{...../*.move.
f200 74 6f 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 74 68 65 20 73 6c 61 73 68 to.the.character.after.the.slash
f220 20 2a 2f 0a 09 09 09 09 65 6e 76 73 68 65 6c 6c 6e 61 6d 65 2b 2b 3b 0a 09 09 09 7d 0a 09 09 09 .*/.....envshellname++;....}....
f240 65 78 65 63 6c 70 28 65 6e 76 73 68 65 6c 6c 2c 20 65 6e 76 73 68 65 6c 6c 6e 61 6d 65 2c 20 22 execlp(envshell,.envshellname,."
f260 2d 63 22 2c 20 63 6d 64 2c 20 4e 55 4c 4c 29 3b 0a 09 09 09 65 72 72 28 22 65 78 65 63 20 66 61 -c",.cmd,.NULL);....err("exec.fa
f280 69 6c 65 64 2c 20 63 6c 65 61 6e 69 6e 67 20 75 70 20 63 68 69 6c 64 22 29 3b 0a 09 09 09 65 78 iled,.cleaning.up.child");....ex
f2a0 69 74 28 31 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 2d 31 3a 0a 09 09 09 65 it(1);....break;...case.-1:....e
f2c0 72 72 28 22 63 61 6e 27 74 20 66 6f 72 6b 22 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 7d 0a 7d rr("can't.fork");....break;..}.}
f2e0 0a 0a 76 6f 69 64 20 73 69 67 5f 68 61 6e 64 6c 65 72 28 69 6e 74 20 73 69 67 6e 61 6c 29 0a 7b ..void.sig_handler(int.signal).{
f300 0a 09 70 69 64 5f 74 20 70 69 64 3b 0a 09 69 6e 74 20 73 74 61 74 75 73 3b 0a 0a 09 73 77 69 74 ..pid_t.pid;..int.status;...swit
f320 63 68 20 28 73 69 67 6e 61 6c 29 0a 09 7b 0a 09 09 63 61 73 65 20 53 49 47 49 4e 54 3a 0a 09 09 ch.(signal)..{...case.SIGINT:...
f340 63 61 73 65 20 53 49 47 54 45 52 4d 3a 0a 09 09 09 71 75 69 74 5f 6e 69 63 65 6c 79 28 29 3b 0a case.SIGTERM:....quit_nicely();.
f360 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 53 49 47 48 55 50 3a 0a 09 09 09 64 6f 5f 6d ...break;...case.SIGHUP:....do_m
f380 65 6e 75 69 74 65 6d 73 20 3d 20 31 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 53 enuitems.=.1;....break;...case.S
f3a0 49 47 43 48 4c 44 3a 0a 09 09 09 77 68 69 6c 65 20 28 28 70 69 64 20 3d 20 77 61 69 74 70 69 64 IGCHLD:....while.((pid.=.waitpid
f3c0 28 2d 31 2c 20 26 73 74 61 74 75 73 2c 20 57 4e 4f 48 41 4e 47 29 29 20 21 3d 20 30 29 0a 09 09 (-1,.&status,.WNOHANG)).!=.0)...
f3e0 09 7b 0a 09 09 09 09 69 66 20 28 28 70 69 64 20 3d 3d 20 2d 31 29 20 26 26 20 28 65 72 72 6e 6f .{.....if.((pid.==.-1).&&.(errno
f400 20 21 3d 20 45 49 4e 54 52 29 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 .!=.EINTR)).....{......break;...
f420 09 09 7d 0a 09 09 09 09 65 6c 73 65 0a 09 09 09 09 7b 0a 09 09 09 09 09 63 6f 6e 74 69 6e 75 65 ..}.....else.....{......continue
f440 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 09 62 72 65 61 6b 3b 0a 09 7d 0a 7d 0a 0a 69 6e 74 ;.....}....}....break;..}.}..int
f460 20 68 61 6e 64 6c 65 5f 78 65 72 72 6f 72 28 44 69 73 70 6c 61 79 20 2a 64 73 70 6c 79 2c 20 58 .handle_xerror(Display.*dsply,.X
f480 45 72 72 6f 72 45 76 65 6e 74 20 2a 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 66 69 ErrorEvent.*e).{..Client.*c.=.fi
f4a0 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e 72 65 73 6f 75 72 63 65 69 64 2c 20 57 49 4e 44 4f 57 29 nd_client(e->resourceid,.WINDOW)
f4c0 3b 0a 0a 09 69 66 20 28 65 2d 3e 65 72 72 6f 72 5f 63 6f 64 65 20 3d 3d 20 42 61 64 41 63 63 65 ;...if.(e->error_code.==.BadAcce
f4e0 73 73 20 26 26 20 65 2d 3e 72 65 73 6f 75 72 63 65 69 64 20 3d 3d 20 72 6f 6f 74 29 0a 09 7b 0a ss.&&.e->resourceid.==.root)..{.
f500 09 09 65 72 72 28 22 72 6f 6f 74 20 77 69 6e 64 6f 77 20 75 6e 61 76 61 69 6c 61 62 6c 65 20 28 ..err("root.window.unavailable.(
f520 6d 61 79 62 65 20 61 6e 6f 74 68 65 72 20 77 6d 20 69 73 20 72 75 6e 6e 69 6e 67 3f 29 22 29 3b maybe.another.wm.is.running?)");
f540 0a 09 09 65 78 69 74 28 31 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 63 68 61 72 20 6d ...exit(1);..}..else..{...char.m
f560 73 67 5b 32 35 35 5d 3b 0a 09 09 58 47 65 74 45 72 72 6f 72 54 65 78 74 28 64 73 70 6c 79 2c 20 sg[255];...XGetErrorText(dsply,.
f580 65 2d 3e 65 72 72 6f 72 5f 63 6f 64 65 2c 20 6d 73 67 2c 20 73 69 7a 65 6f 66 20 6d 73 67 29 3b e->error_code,.msg,.sizeof.msg);
f5a0 0a 09 09 65 72 72 28 22 58 20 65 72 72 6f 72 20 28 25 23 6c 78 29 3a 20 25 73 22 2c 20 65 2d 3e ...err("X.error.(%#lx):.%s",.e->
f5c0 72 65 73 6f 75 72 63 65 69 64 2c 20 6d 73 67 29 3b 0a 09 7d 0a 0a 09 69 66 20 28 63 20 21 3d 20 resourceid,.msg);..}...if.(c.!=.
f5e0 4e 55 4c 4c 29 0a 09 7b 0a 09 09 72 65 6d 6f 76 65 5f 63 6c 69 65 6e 74 28 63 2c 20 57 49 54 48 NULL)..{...remove_client(c,.WITH
f600 44 52 41 57 29 3b 0a 09 7d 0a 09 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 2f 2a 20 49 63 6b 2e 20 DRAW);..}..return.0;.}../*.Ick..
f620 41 72 67 68 2e 20 59 6f 75 20 64 69 64 6e 27 74 20 73 65 65 20 74 68 69 73 20 66 75 6e 63 74 69 Argh..You.didn't.see.this.functi
f640 6f 6e 2e 20 2a 2f 0a 0a 69 6e 74 20 69 67 6e 6f 72 65 5f 78 65 72 72 6f 72 28 44 69 73 70 6c 61 on..*/..int.ignore_xerror(Displa
f660 79 20 2a 64 73 70 6c 79 2c 20 58 45 72 72 6f 72 45 76 65 6e 74 20 2a 65 29 0a 7b 0a 09 28 76 6f y.*dsply,.XErrorEvent.*e).{..(vo
f680 69 64 29 20 64 73 70 6c 79 3b 0a 09 28 76 6f 69 64 29 20 65 3b 0a 09 72 65 74 75 72 6e 20 30 3b id).dsply;..(void).e;..return.0;
f6a0 0a 7d 0a 0a 2f 2a 20 43 75 72 72 65 6e 74 6c 79 2c 20 6f 6e 6c 79 20 73 65 6e 64 5f 77 6d 5f 64 .}../*.Currently,.only.send_wm_d
f6c0 65 6c 65 74 65 20 75 73 65 73 20 74 68 69 73 20 6f 6e 65 2e 2e 2e 20 2a 2f 0a 0a 69 6e 74 20 73 elete.uses.this.one....*/..int.s
f6e0 65 6e 64 5f 78 6d 65 73 73 61 67 65 28 57 69 6e 64 6f 77 20 77 2c 20 41 74 6f 6d 20 61 2c 20 6c end_xmessage(Window.w,.Atom.a,.l
f700 6f 6e 67 20 78 29 0a 7b 0a 09 58 43 6c 69 65 6e 74 4d 65 73 73 61 67 65 45 76 65 6e 74 20 65 3b ong.x).{..XClientMessageEvent.e;
f720 0a 0a 09 65 2e 74 79 70 65 20 3d 20 43 6c 69 65 6e 74 4d 65 73 73 61 67 65 3b 0a 09 65 2e 77 69 ...e.type.=.ClientMessage;..e.wi
f740 6e 64 6f 77 20 3d 20 77 3b 0a 09 65 2e 6d 65 73 73 61 67 65 5f 74 79 70 65 20 3d 20 61 3b 0a 09 ndow.=.w;..e.message_type.=.a;..
f760 65 2e 66 6f 72 6d 61 74 20 3d 20 33 32 3b 0a 09 65 2e 64 61 74 61 2e 6c 5b 30 5d 20 3d 20 78 3b e.format.=.32;..e.data.l[0].=.x;
f780 0a 09 65 2e 64 61 74 61 2e 6c 5b 31 5d 20 3d 20 43 75 72 72 65 6e 74 54 69 6d 65 3b 0a 0a 09 72 ..e.data.l[1].=.CurrentTime;...r
f7a0 65 74 75 72 6e 20 58 53 65 6e 64 45 76 65 6e 74 28 64 73 70 6c 79 2c 20 77 2c 20 46 61 6c 73 65 eturn.XSendEvent(dsply,.w,.False
f7c0 2c 20 4e 6f 45 76 65 6e 74 4d 61 73 6b 2c 20 28 58 45 76 65 6e 74 20 2a 29 26 65 29 3b 0a 7d 0a ,.NoEventMask,.(XEvent.*)&e);.}.
f7e0 0a 76 6f 69 64 20 67 65 74 5f 6d 6f 75 73 65 5f 70 6f 73 69 74 69 6f 6e 28 69 6e 74 20 2a 78 2c .void.get_mouse_position(int.*x,
f800 20 69 6e 74 20 2a 79 29 0a 7b 0a 09 57 69 6e 64 6f 77 20 6d 6f 75 73 65 5f 72 6f 6f 74 2c 20 6d .int.*y).{..Window.mouse_root,.m
f820 6f 75 73 65 5f 77 69 6e 3b 0a 09 69 6e 74 20 77 69 6e 5f 78 2c 20 77 69 6e 5f 79 3b 0a 09 75 6e ouse_win;..int.win_x,.win_y;..un
f840 73 69 67 6e 65 64 20 69 6e 74 20 6d 61 73 6b 3b 0a 0a 09 58 51 75 65 72 79 50 6f 69 6e 74 65 72 signed.int.mask;...XQueryPointer
f860 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 26 6d 6f 75 73 65 5f 72 6f 6f 74 2c 20 26 6d 6f 75 73 (dsply,.root,.&mouse_root,.&mous
f880 65 5f 77 69 6e 2c 20 78 2c 20 79 2c 20 26 77 69 6e 5f 78 2c 20 26 77 69 6e 5f 79 2c 20 26 6d 61 e_win,.x,.y,.&win_x,.&win_y,.&ma
f8a0 73 6b 29 3b 0a 7d 0a 0a 2f 2a 20 49 66 20 74 68 69 73 20 69 73 20 74 68 65 20 66 75 6c 6c 73 63 sk);.}../*.If.this.is.the.fullsc
f8c0 72 65 65 6e 20 63 6c 69 65 6e 74 20 77 65 20 64 6f 6e 27 74 20 74 61 6b 65 20 42 41 52 48 45 49 reen.client.we.don't.take.BARHEI
f8e0 47 48 54 28 29 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 0a 20 2a 20 62 65 63 61 75 73 65 20 74 68 GHT().into.account..*.because.th
f900 65 20 74 69 74 6c 65 62 61 72 20 69 73 6e 27 74 20 62 65 69 6e 67 20 64 72 61 77 6e 20 6f 6e 20 e.titlebar.isn't.being.drawn.on.
f920 74 68 65 20 77 69 6e 64 6f 77 2e 20 2a 2f 0a 0a 76 6f 69 64 20 66 69 78 5f 70 6f 73 69 74 69 6f the.window..*/..void.fix_positio
f940 6e 28 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 6e 74 20 78 6d 61 78 20 3d 20 44 69 73 70 6c n(Client.*c).{..int.xmax.=.Displ
f960 61 79 57 69 64 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b 0a 09 69 6e 74 20 79 6d 61 ayWidth(dsply,.screen);..int.yma
f980 78 20 3d 20 44 69 73 70 6c 61 79 48 65 69 67 68 74 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 x.=.DisplayHeight(dsply,.screen)
f9a0 3b 0a 09 69 6e 74 20 74 69 74 6c 65 62 61 72 68 65 69 67 68 74 3b 0a 0a 23 69 66 64 65 66 20 44 ;..int.titlebarheight;..#ifdef.D
f9c0 45 42 55 47 0a 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 69 78 5f 70 6f 73 69 74 EBUG..fprintf(stderr,."fix_posit
f9e0 69 6f 6e 28 29 3a 20 63 6c 69 65 6e 74 20 77 61 73 20 28 25 64 2c 20 25 64 29 2d 28 25 64 2c 20 ion():.client.was.(%d,.%d)-(%d,.
fa00 25 64 29 5c 6e 22 2c 20 63 2d 3e 78 2c 20 63 2d 3e 79 2c 20 63 2d 3e 78 20 2b 20 63 2d 3e 77 69 %d)\n",.c->x,.c->y,.c->x.+.c->wi
fa20 64 74 68 2c 20 63 2d 3e 79 20 2b 20 63 2d 3e 68 65 69 67 68 74 29 3b 0a 23 65 6e 64 69 66 0a 09 dth,.c->y.+.c->height);.#endif..
fa40 0a 09 74 69 74 6c 65 62 61 72 68 65 69 67 68 74 20 3d 20 28 66 75 6c 6c 73 63 72 65 65 6e 5f 63 ..titlebarheight.=.(fullscreen_c
fa60 6c 69 65 6e 74 20 3d 3d 20 63 29 20 3f 20 30 20 3a 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 0a lient.==.c).?.0.:.BARHEIGHT();..
fa80 09 69 66 20 28 63 2d 3e 77 69 64 74 68 20 3c 20 4d 49 4e 57 49 4e 57 49 44 54 48 29 0a 09 7b 0a .if.(c->width.<.MINWINWIDTH)..{.
faa0 09 09 63 2d 3e 77 69 64 74 68 20 3d 20 4d 49 4e 57 49 4e 57 49 44 54 48 3b 0a 09 7d 0a 09 69 66 ..c->width.=.MINWINWIDTH;..}..if
fac0 20 28 63 2d 3e 68 65 69 67 68 74 20 3c 20 4d 49 4e 57 49 4e 48 45 49 47 48 54 29 0a 09 7b 0a 09 .(c->height.<.MINWINHEIGHT)..{..
fae0 09 63 2d 3e 68 65 69 67 68 74 20 3d 20 4d 49 4e 57 49 4e 48 45 49 47 48 54 3b 0a 09 7d 0a 09 0a .c->height.=.MINWINHEIGHT;..}...
fb00 09 69 66 20 28 63 2d 3e 77 69 64 74 68 20 3e 20 78 6d 61 78 29 0a 09 7b 0a 09 09 63 2d 3e 77 69 .if.(c->width.>.xmax)..{...c->wi
fb20 64 74 68 20 3d 20 78 6d 61 78 3b 0a 09 7d 0a 09 69 66 20 28 63 2d 3e 68 65 69 67 68 74 20 2b 20 dth.=.xmax;..}..if.(c->height.+.
fb40 28 42 41 52 48 45 49 47 48 54 28 29 20 2b 20 74 69 74 6c 65 62 61 72 68 65 69 67 68 74 29 20 3e (BARHEIGHT().+.titlebarheight).>
fb60 20 79 6d 61 78 29 0a 09 7b 0a 09 09 63 2d 3e 68 65 69 67 68 74 20 3d 20 79 6d 61 78 20 2d 20 28 .ymax)..{...c->height.=.ymax.-.(
fb80 42 41 52 48 45 49 47 48 54 28 29 20 2b 20 74 69 74 6c 65 62 61 72 68 65 69 67 68 74 29 3b 0a 09 BARHEIGHT().+.titlebarheight);..
fba0 7d 0a 0a 09 69 66 20 28 63 2d 3e 78 20 3c 20 30 29 0a 09 7b 0a 09 09 63 2d 3e 78 20 3d 20 30 3b }...if.(c->x.<.0)..{...c->x.=.0;
fbc0 0a 09 7d 0a 09 69 66 20 28 63 2d 3e 79 20 3c 20 42 41 52 48 45 49 47 48 54 28 29 29 0a 09 7b 0a ..}..if.(c->y.<.BARHEIGHT())..{.
fbe0 09 09 63 2d 3e 79 20 3d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 7d 0a 0a 09 69 66 20 28 63 ..c->y.=.BARHEIGHT();..}...if.(c
fc00 2d 3e 78 20 2b 20 63 2d 3e 77 69 64 74 68 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 20 ->x.+.c->width.+.BORDERWIDTH(c).
fc20 3e 3d 20 78 6d 61 78 29 0a 09 7b 0a 09 09 63 2d 3e 78 20 3d 20 78 6d 61 78 20 2d 20 63 2d 3e 77 >=.xmax)..{...c->x.=.xmax.-.c->w
fc40 69 64 74 68 3b 0a 09 7d 0a 09 69 66 20 28 63 2d 3e 79 20 2b 20 63 2d 3e 68 65 69 67 68 74 20 2b idth;..}..if.(c->y.+.c->height.+
fc60 20 42 41 52 48 45 49 47 48 54 28 29 20 3e 3d 20 79 6d 61 78 29 0a 09 7b 0a 09 09 63 2d 3e 79 20 .BARHEIGHT().>=.ymax)..{...c->y.
fc80 3d 20 28 79 6d 61 78 20 2d 20 63 2d 3e 68 65 69 67 68 74 29 20 2d 20 42 41 52 48 45 49 47 48 54 =.(ymax.-.c->height).-.BARHEIGHT
fca0 28 29 3b 0a 09 7d 0a 0a 23 69 66 64 65 66 20 44 45 42 55 47 0a 09 66 70 72 69 6e 74 66 28 73 74 ();..}..#ifdef.DEBUG..fprintf(st
fcc0 64 65 72 72 2c 20 22 66 69 78 5f 70 6f 73 69 74 69 6f 6e 28 29 3a 20 63 6c 69 65 6e 74 20 69 73 derr,."fix_position():.client.is
fce0 20 28 25 64 2c 20 25 64 29 2d 28 25 64 2c 20 25 64 29 5c 6e 22 2c 20 63 2d 3e 78 2c 20 63 2d 3e .(%d,.%d)-(%d,.%d)\n",.c->x,.c->
fd00 79 2c 20 63 2d 3e 78 20 2b 20 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 79 20 2b 20 63 2d 3e 68 65 y,.c->x.+.c->width,.c->y.+.c->he
fd20 69 67 68 74 29 3b 0a 23 65 6e 64 69 66 0a 0a 09 63 2d 3e 78 20 2d 3d 20 42 4f 52 44 45 52 57 49 ight);.#endif...c->x.-=.BORDERWI
fd40 44 54 48 28 63 29 3b 0a 09 63 2d 3e 79 20 2d 3d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b DTH(c);..c->y.-=.BORDERWIDTH(c);
fd60 0a 7d 0a 0a 76 6f 69 64 20 72 65 66 69 78 5f 70 6f 73 69 74 69 6f 6e 28 43 6c 69 65 6e 74 20 2a .}..void.refix_position(Client.*
fd80 63 2c 20 58 43 6f 6e 66 69 67 75 72 65 52 65 71 75 65 73 74 45 76 65 6e 74 20 2a 65 29 0a 7b 0a c,.XConfigureRequestEvent.*e).{.
fda0 09 52 65 63 74 20 6f 6c 64 64 69 6d 73 3b 0a 09 6f 6c 64 64 69 6d 73 2e 78 20 3d 20 63 2d 3e 78 .Rect.olddims;..olddims.x.=.c->x
fdc0 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 6f 6c 64 64 69 6d 73 2e 79 20 3d 20 .-.BORDERWIDTH(c);..olddims.y.=.
fde0 63 2d 3e 79 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 6f 6c 64 64 69 6d 73 2e c->y.-.BORDERWIDTH(c);..olddims.
fe00 77 69 64 74 68 20 3d 20 63 2d 3e 77 69 64 74 68 3b 0a 09 6f 6c 64 64 69 6d 73 2e 68 65 69 67 68 width.=.c->width;..olddims.heigh
fe20 74 20 3d 20 63 2d 3e 68 65 69 67 68 74 3b 0a 09 66 69 78 5f 70 6f 73 69 74 69 6f 6e 28 63 29 3b t.=.c->height;..fix_position(c);
fe40 0a 09 69 66 20 28 6f 6c 64 64 69 6d 73 2e 78 20 21 3d 20 63 2d 3e 78 29 0a 09 7b 0a 09 09 65 2d ..if.(olddims.x.!=.c->x)..{...e-
fe60 3e 76 61 6c 75 65 5f 6d 61 73 6b 20 7c 3d 20 43 57 58 3b 0a 09 7d 0a 09 69 66 20 28 6f 6c 64 64 >value_mask.|=.CWX;..}..if.(oldd
fe80 69 6d 73 2e 79 20 21 3d 20 63 2d 3e 79 29 0a 09 7b 0a 09 09 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 ims.y.!=.c->y)..{...e->value_mas
fea0 6b 20 7c 3d 20 43 57 59 3b 0a 09 7d 0a 09 69 66 20 28 6f 6c 64 64 69 6d 73 2e 77 69 64 74 68 20 k.|=.CWY;..}..if.(olddims.width.
fec0 21 3d 20 63 2d 3e 77 69 64 74 68 29 0a 09 7b 0a 09 09 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 6b 20 !=.c->width)..{...e->value_mask.
fee0 7c 3d 20 43 57 57 69 64 74 68 3b 0a 09 7d 0a 09 69 66 20 28 6f 6c 64 64 69 6d 73 2e 68 65 69 67 |=.CWWidth;..}..if.(olddims.heig
ff00 68 74 20 21 3d 20 63 2d 3e 68 65 69 67 68 74 29 0a 09 7b 0a 09 09 65 2d 3e 76 61 6c 75 65 5f 6d ht.!=.c->height)..{...e->value_m
ff20 61 73 6b 20 7c 3d 20 43 57 48 65 69 67 68 74 3b 0a 09 7d 0a 7d 0a 0a 76 6f 69 64 20 63 6f 70 79 ask.|=.CWHeight;..}.}..void.copy
ff40 5f 64 69 6d 73 28 52 65 63 74 20 2a 73 6f 75 72 63 65 64 69 6d 73 2c 20 52 65 63 74 20 2a 64 65 _dims(Rect.*sourcedims,.Rect.*de
ff60 73 74 64 69 6d 73 29 0a 7b 0a 09 64 65 73 74 64 69 6d 73 2d 3e 78 20 3d 20 73 6f 75 72 63 65 64 stdims).{..destdims->x.=.sourced
ff80 69 6d 73 2d 3e 78 3b 0a 09 64 65 73 74 64 69 6d 73 2d 3e 79 20 3d 20 73 6f 75 72 63 65 64 69 6d ims->x;..destdims->y.=.sourcedim
ffa0 73 2d 3e 79 3b 0a 09 64 65 73 74 64 69 6d 73 2d 3e 77 69 64 74 68 20 3d 20 73 6f 75 72 63 65 64 s->y;..destdims->width.=.sourced
ffc0 69 6d 73 2d 3e 77 69 64 74 68 3b 0a 09 64 65 73 74 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 3d 20 ims->width;..destdims->height.=.
ffe0 73 6f 75 72 63 65 64 69 6d 73 2d 3e 68 65 69 67 68 74 3b 0a 7d 0a 0a 23 69 66 64 65 66 20 44 45 sourcedims->height;.}..#ifdef.DE
10000 42 55 47 0a 0a 2f 2a 20 42 6c 65 68 2c 20 73 74 75 70 69 64 20 6d 61 63 72 6f 20 6e 61 6d 65 73 BUG../*.Bleh,.stupid.macro.names
10020 2e 20 49 27 6d 20 6e 6f 74 20 66 65 65 6c 69 6e 67 20 63 72 65 61 74 69 76 65 20 74 6f 64 61 79 ..I'm.not.feeling.creative.today
10040 2e 20 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 53 48 4f 57 5f 45 56 28 6e 61 6d 65 2c 20 6d 65 6d 62 ..*/..#define.SHOW_EV(name,.memb
10060 29 20 5c 0a 09 63 61 73 65 20 6e 61 6d 65 3a 20 5c 0a 09 09 73 20 3d 20 23 6e 61 6d 65 3b 20 5c ).\..case.name:.\...s.=.#name;.\
10080 0a 09 09 77 20 3d 20 65 2e 6d 65 6d 62 2e 77 69 6e 64 6f 77 3b 20 5c 0a 09 09 62 72 65 61 6b 3b ...w.=.e.memb.window;.\...break;
100a0 0a 23 64 65 66 69 6e 65 20 53 48 4f 57 28 6e 61 6d 65 29 20 5c 0a 09 63 61 73 65 20 6e 61 6d 65 .#define.SHOW(name).\..case.name
100c0 3a 20 5c 0a 09 09 72 65 74 75 72 6e 20 23 6e 61 6d 65 3b 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 65 :.\...return.#name;..void.show_e
100e0 76 65 6e 74 28 58 45 76 65 6e 74 20 65 29 0a 7b 0a 09 63 68 61 72 20 2a 73 2c 20 62 75 66 5b 32 vent(XEvent.e).{..char.*s,.buf[2
10100 30 5d 3b 0a 09 57 69 6e 64 6f 77 20 77 3b 0a 09 43 6c 69 65 6e 74 20 2a 63 3b 0a 0a 09 73 77 69 0];..Window.w;..Client.*c;...swi
10120 74 63 68 20 28 65 2e 74 79 70 65 29 0a 09 7b 0a 09 09 53 48 4f 57 5f 45 56 28 42 75 74 74 6f 6e tch.(e.type)..{...SHOW_EV(Button
10140 50 72 65 73 73 2c 20 78 62 75 74 74 6f 6e 29 0a 09 09 53 48 4f 57 5f 45 56 28 42 75 74 74 6f 6e Press,.xbutton)...SHOW_EV(Button
10160 52 65 6c 65 61 73 65 2c 20 78 62 75 74 74 6f 6e 29 0a 09 09 53 48 4f 57 5f 45 56 28 43 6c 69 65 Release,.xbutton)...SHOW_EV(Clie
10180 6e 74 4d 65 73 73 61 67 65 2c 20 78 63 6c 69 65 6e 74 29 0a 09 09 53 48 4f 57 5f 45 56 28 43 6f ntMessage,.xclient)...SHOW_EV(Co
101a0 6c 6f 72 6d 61 70 4e 6f 74 69 66 79 2c 20 78 63 6f 6c 6f 72 6d 61 70 29 0a 09 09 53 48 4f 57 5f lormapNotify,.xcolormap)...SHOW_
101c0 45 56 28 43 6f 6e 66 69 67 75 72 65 4e 6f 74 69 66 79 2c 20 78 63 6f 6e 66 69 67 75 72 65 29 0a EV(ConfigureNotify,.xconfigure).
101e0 09 09 53 48 4f 57 5f 45 56 28 43 6f 6e 66 69 67 75 72 65 52 65 71 75 65 73 74 2c 20 78 63 6f 6e ..SHOW_EV(ConfigureRequest,.xcon
10200 66 69 67 75 72 65 72 65 71 75 65 73 74 29 0a 09 09 53 48 4f 57 5f 45 56 28 43 72 65 61 74 65 4e figurerequest)...SHOW_EV(CreateN
10220 6f 74 69 66 79 2c 20 78 63 72 65 61 74 65 77 69 6e 64 6f 77 29 0a 09 09 53 48 4f 57 5f 45 56 28 otify,.xcreatewindow)...SHOW_EV(
10240 44 65 73 74 72 6f 79 4e 6f 74 69 66 79 2c 20 78 64 65 73 74 72 6f 79 77 69 6e 64 6f 77 29 0a 09 DestroyNotify,.xdestroywindow)..
10260 09 53 48 4f 57 5f 45 56 28 45 6e 74 65 72 4e 6f 74 69 66 79 2c 20 78 63 72 6f 73 73 69 6e 67 29 .SHOW_EV(EnterNotify,.xcrossing)
10280 0a 09 09 53 48 4f 57 5f 45 56 28 45 78 70 6f 73 65 2c 20 78 65 78 70 6f 73 65 29 0a 09 09 53 48 ...SHOW_EV(Expose,.xexpose)...SH
102a0 4f 57 5f 45 56 28 4d 61 70 4e 6f 74 69 66 79 2c 20 78 6d 61 70 29 0a 09 09 53 48 4f 57 5f 45 56 OW_EV(MapNotify,.xmap)...SHOW_EV
102c0 28 4d 61 70 52 65 71 75 65 73 74 2c 20 78 6d 61 70 72 65 71 75 65 73 74 29 0a 09 09 53 48 4f 57 (MapRequest,.xmaprequest)...SHOW
102e0 5f 45 56 28 4d 61 70 70 69 6e 67 4e 6f 74 69 66 79 2c 20 78 6d 61 70 70 69 6e 67 29 0a 09 09 53 _EV(MappingNotify,.xmapping)...S
10300 48 4f 57 5f 45 56 28 4d 6f 74 69 6f 6e 4e 6f 74 69 66 79 2c 20 78 6d 6f 74 69 6f 6e 29 0a 09 09 HOW_EV(MotionNotify,.xmotion)...
10320 53 48 4f 57 5f 45 56 28 50 72 6f 70 65 72 74 79 4e 6f 74 69 66 79 2c 20 78 70 72 6f 70 65 72 74 SHOW_EV(PropertyNotify,.xpropert
10340 79 29 0a 09 09 53 48 4f 57 5f 45 56 28 52 65 70 61 72 65 6e 74 4e 6f 74 69 66 79 2c 20 78 72 65 y)...SHOW_EV(ReparentNotify,.xre
10360 70 61 72 65 6e 74 29 0a 09 09 53 48 4f 57 5f 45 56 28 52 65 73 69 7a 65 52 65 71 75 65 73 74 2c parent)...SHOW_EV(ResizeRequest,
10380 20 78 72 65 73 69 7a 65 72 65 71 75 65 73 74 29 0a 09 09 53 48 4f 57 5f 45 56 28 55 6e 6d 61 70 .xresizerequest)...SHOW_EV(Unmap
103a0 4e 6f 74 69 66 79 2c 20 78 75 6e 6d 61 70 29 0a 09 09 64 65 66 61 75 6c 74 3a 0a 09 09 09 69 66 Notify,.xunmap)...default:....if
103c0 20 28 73 68 61 70 65 20 26 26 20 65 2e 74 79 70 65 20 3d 3d 20 73 68 61 70 65 5f 65 76 65 6e 74 .(shape.&&.e.type.==.shape_event
103e0 29 0a 09 09 09 7b 0a 09 09 09 09 73 20 3d 20 22 53 68 61 70 65 4e 6f 74 69 66 79 22 3b 0a 09 09 )....{.....s.=."ShapeNotify";...
10400 09 09 77 20 3d 20 28 28 58 53 68 61 70 65 45 76 65 6e 74 20 2a 29 26 65 29 2d 3e 77 69 6e 64 6f ..w.=.((XShapeEvent.*)&e)->windo
10420 77 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a 09 09 09 09 73 20 3d 20 22 75 6e w;....}....else....{.....s.=."un
10440 6b 6e 6f 77 6e 20 65 76 65 6e 74 22 3b 0a 09 09 09 09 77 20 3d 20 4e 6f 6e 65 3b 0a 09 09 09 7d known.event";.....w.=.None;....}
10460 0a 09 09 09 62 72 65 61 6b 3b 0a 09 7d 0a 0a 09 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 ....break;..}...c.=.find_client(
10480 77 2c 20 57 49 4e 44 4f 57 29 3b 0a 09 73 6e 70 72 69 6e 74 66 28 62 75 66 2c 20 73 69 7a 65 6f w,.WINDOW);..snprintf(buf,.sizeo
104a0 66 20 62 75 66 2c 20 63 20 21 3d 20 4e 55 4c 4c 20 3f 20 63 2d 3e 6e 61 6d 65 20 3a 20 22 28 6e f.buf,.c.!=.NULL.?.c->name.:."(n
104c0 6f 6e 65 29 22 29 3b 0a 09 65 72 72 28 22 25 23 2d 31 30 6c 78 3a 20 25 2d 32 30 73 3a 20 25 73 one)");..err("%#-10lx:.%-20s:.%s
104e0 22 2c 20 77 2c 20 62 75 66 2c 20 73 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 ",.w,.buf,.s);.}..static.const.c
10500 68 61 72 20 2a 73 68 6f 77 5f 73 74 61 74 65 28 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 73 77 har.*show_state(Client.*c).{..sw
10520 69 74 63 68 20 28 67 65 74 5f 77 6d 5f 73 74 61 74 65 28 63 29 29 0a 09 7b 0a 09 09 53 48 4f 57 itch.(get_wm_state(c))..{...SHOW
10540 28 57 69 74 68 64 72 61 77 6e 53 74 61 74 65 29 0a 09 09 53 48 4f 57 28 4e 6f 72 6d 61 6c 53 74 (WithdrawnState)...SHOW(NormalSt
10560 61 74 65 29 0a 09 09 53 48 4f 57 28 49 63 6f 6e 69 63 53 74 61 74 65 29 0a 09 09 64 65 66 61 75 ate)...SHOW(IconicState)...defau
10580 6c 74 3a 20 72 65 74 75 72 6e 20 22 75 6e 6b 6e 6f 77 6e 20 73 74 61 74 65 22 3b 0a 09 7d 0a 7d lt:.return."unknown.state";..}.}
105a0 0a 0a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 68 6f 77 5f 67 72 61 76 28 43 ..static.const.char.*show_grav(C
105c0 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 66 20 28 63 2d 3e 73 69 7a 65 20 3d 3d 20 4e 55 4c 4c lient.*c).{..if.(c->size.==.NULL
105e0 20 7c 7c 20 21 28 63 2d 3e 73 69 7a 65 2d 3e 66 6c 61 67 73 20 26 20 50 57 69 6e 47 72 61 76 69 .||.!(c->size->flags.&.PWinGravi
10600 74 79 29 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 22 6e 6f 20 67 72 61 76 20 28 4e 57 29 22 3b ty))..{...return."no.grav.(NW)";
10620 0a 09 7d 0a 0a 09 73 77 69 74 63 68 20 28 63 2d 3e 73 69 7a 65 2d 3e 77 69 6e 5f 67 72 61 76 69 ..}...switch.(c->size->win_gravi
10640 74 79 29 0a 09 7b 0a 09 09 53 48 4f 57 28 55 6e 6d 61 70 47 72 61 76 69 74 79 29 0a 09 09 53 48 ty)..{...SHOW(UnmapGravity)...SH
10660 4f 57 28 4e 6f 72 74 68 57 65 73 74 47 72 61 76 69 74 79 29 0a 09 09 53 48 4f 57 28 4e 6f 72 74 OW(NorthWestGravity)...SHOW(Nort
10680 68 47 72 61 76 69 74 79 29 0a 09 09 53 48 4f 57 28 4e 6f 72 74 68 45 61 73 74 47 72 61 76 69 74 hGravity)...SHOW(NorthEastGravit
106a0 79 29 0a 09 09 53 48 4f 57 28 57 65 73 74 47 72 61 76 69 74 79 29 0a 09 09 53 48 4f 57 28 43 65 y)...SHOW(WestGravity)...SHOW(Ce
106c0 6e 74 65 72 47 72 61 76 69 74 79 29 0a 09 09 53 48 4f 57 28 45 61 73 74 47 72 61 76 69 74 79 29 nterGravity)...SHOW(EastGravity)
106e0 0a 09 09 53 48 4f 57 28 53 6f 75 74 68 57 65 73 74 47 72 61 76 69 74 79 29 0a 09 09 53 48 4f 57 ...SHOW(SouthWestGravity)...SHOW
10700 28 53 6f 75 74 68 47 72 61 76 69 74 79 29 0a 09 09 53 48 4f 57 28 53 6f 75 74 68 45 61 73 74 47 (SouthGravity)...SHOW(SouthEastG
10720 72 61 76 69 74 79 29 0a 09 09 53 48 4f 57 28 53 74 61 74 69 63 47 72 61 76 69 74 79 29 0a 09 09 ravity)...SHOW(StaticGravity)...
10740 64 65 66 61 75 6c 74 3a 20 72 65 74 75 72 6e 20 22 75 6e 6b 6e 6f 77 6e 20 67 72 61 76 22 3b 0a default:.return."unknown.grav";.
10760 09 7d 0a 7d 0a 0a 76 6f 69 64 20 64 75 6d 70 28 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 66 .}.}..void.dump(Client.*c).{..if
10780 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 65 72 72 28 22 25 73 5c 6e 5c 74 25 73 2c .(c.!=.NULL)..{...err("%s\n\t%s,
107a0 20 25 73 2c 20 69 67 6e 6f 72 65 20 25 64 2c 20 77 61 73 5f 68 69 64 64 65 6e 20 25 64 5c 6e 5c .%s,.ignore.%d,.was_hidden.%d\n\
107c0 74 66 72 61 6d 65 20 25 23 6c 78 2c 20 77 69 6e 20 25 23 6c 78 2c 20 67 65 6f 6d 20 25 64 78 25 tframe.%#lx,.win.%#lx,.geom.%dx%
107e0 64 2b 25 64 2b 25 64 22 2c 20 63 2d 3e 6e 61 6d 65 2c 20 73 68 6f 77 5f 73 74 61 74 65 28 63 29 d+%d+%d",.c->name,.show_state(c)
10800 2c 20 73 68 6f 77 5f 67 72 61 76 28 63 29 2c 20 63 2d 3e 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 2c ,.show_grav(c),.c->ignore_unmap,
10820 20 63 2d 3e 77 61 73 5f 68 69 64 64 65 6e 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 63 2d 3e 77 69 6e .c->was_hidden,.c->frame,.c->win
10840 64 6f 77 2c 20 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 68 65 69 67 68 74 2c 20 63 2d 3e 78 2c 20 dow,.c->width,.c->height,.c->x,.
10860 63 2d 3e 79 29 3b 0a 09 7d 0a 7d 0a 0a 76 6f 69 64 20 64 75 6d 70 5f 63 6c 69 65 6e 74 73 28 76 c->y);..}.}..void.dump_clients(v
10880 6f 69 64 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 68 65 61 64 5f 63 6c 69 65 6e 74 3b oid).{..Client.*c.=.head_client;
108a0 0a 09 77 68 69 6c 65 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 64 75 6d 70 28 63 29 ..while.(c.!=.NULL)..{...dump(c)
108c0 3b 0a 09 09 63 20 3d 20 63 2d 3e 6e 65 78 74 3b 0a 09 7d 0a 7d 0a 23 65 6e 64 69 66 0a 0a 2f 2a ;...c.=.c->next;..}.}.#endif../*
108e0 20 57 65 20 75 73 65 20 58 51 75 65 72 79 54 72 65 65 20 68 65 72 65 20 74 6f 20 70 72 65 73 65 .We.use.XQueryTree.here.to.prese
10900 72 76 65 20 74 68 65 20 77 69 6e 64 6f 77 20 73 74 61 63 6b 69 6e 67 20 6f 72 64 65 72 2c 0a 20 rve.the.window.stacking.order,..
10920 2a 20 73 69 6e 63 65 20 74 68 65 20 6f 72 64 65 72 20 69 6e 20 6f 75 72 20 6c 69 6e 6b 65 64 20 *.since.the.order.in.our.linked.
10940 6c 69 73 74 20 69 73 20 64 69 66 66 65 72 65 6e 74 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 76 6f list.is.different..*/..static.vo
10960 69 64 20 71 75 69 74 5f 6e 69 63 65 6c 79 28 76 6f 69 64 29 0a 7b 0a 09 75 6e 73 69 67 6e 65 64 id.quit_nicely(void).{..unsigned
10980 20 69 6e 74 20 6e 77 69 6e 73 2c 20 69 3b 0a 09 57 69 6e 64 6f 77 20 64 75 6d 6d 79 77 31 2c 20 .int.nwins,.i;..Window.dummyw1,.
109a0 64 75 6d 6d 79 77 32 2c 20 2a 77 69 6e 73 3b 0a 09 43 6c 69 65 6e 74 20 2a 63 3b 0a 0a 09 66 72 dummyw2,.*wins;..Client.*c;...fr
109c0 65 65 5f 6d 65 6e 75 69 74 65 6d 73 28 29 3b 0a 0a 09 58 51 75 65 72 79 54 72 65 65 28 64 73 70 ee_menuitems();...XQueryTree(dsp
109e0 6c 79 2c 20 72 6f 6f 74 2c 20 26 64 75 6d 6d 79 77 31 2c 20 26 64 75 6d 6d 79 77 32 2c 20 26 77 ly,.root,.&dummyw1,.&dummyw2,.&w
10a00 69 6e 73 2c 20 26 6e 77 69 6e 73 29 3b 0a 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e ins,.&nwins);..for.(i.=.0;.i.<.n
10a20 77 69 6e 73 3b 20 69 2b 2b 29 0a 09 7b 0a 09 09 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 wins;.i++)..{...c.=.find_client(
10a40 77 69 6e 73 5b 69 5d 2c 20 46 52 41 4d 45 29 3b 0a 09 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c wins[i],.FRAME);...if.(c.!=.NULL
10a60 29 0a 09 09 7b 0a 09 09 09 72 65 6d 6f 76 65 5f 63 6c 69 65 6e 74 28 63 2c 20 52 45 4d 41 50 29 )...{....remove_client(c,.REMAP)
10a80 3b 0a 09 09 7d 0a 09 7d 0a 09 58 46 72 65 65 28 77 69 6e 73 29 3b 0a 0a 09 69 66 20 28 66 6f 6e ;...}..}..XFree(wins);...if.(fon
10aa0 74 29 0a 09 7b 0a 09 09 58 46 72 65 65 46 6f 6e 74 28 64 73 70 6c 79 2c 20 66 6f 6e 74 29 3b 0a t)..{...XFreeFont(dsply,.font);.
10ac0 09 7d 0a 23 69 66 64 65 66 20 58 46 54 0a 09 69 66 20 28 78 66 74 66 6f 6e 74 29 0a 09 7b 0a 09 .}.#ifdef.XFT..if.(xftfont)..{..
10ae0 09 58 66 74 46 6f 6e 74 43 6c 6f 73 65 28 64 73 70 6c 79 2c 20 78 66 74 66 6f 6e 74 29 3b 0a 09 .XftFontClose(dsply,.xftfont);..
10b00 7d 0a 23 65 6e 64 69 66 0a 09 58 46 72 65 65 43 75 72 73 6f 72 28 64 73 70 6c 79 2c 20 72 65 73 }.#endif..XFreeCursor(dsply,.res
10b20 69 7a 65 5f 63 75 72 73 29 3b 0a 09 58 46 72 65 65 47 43 28 64 73 70 6c 79 2c 20 62 6f 72 64 65 ize_curs);..XFreeGC(dsply,.borde
10b40 72 5f 67 63 29 3b 0a 09 58 46 72 65 65 47 43 28 64 73 70 6c 79 2c 20 74 65 78 74 5f 67 63 29 3b r_gc);..XFreeGC(dsply,.text_gc);
10b60 0a 0a 09 58 49 6e 73 74 61 6c 6c 43 6f 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 44 65 66 61 75 ...XInstallColormap(dsply,.Defau
10b80 6c 74 43 6f 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 29 3b 0a 09 58 53 65 ltColormap(dsply,.screen));..XSe
10ba0 74 49 6e 70 75 74 46 6f 63 75 73 28 64 73 70 6c 79 2c 20 50 6f 69 6e 74 65 72 52 6f 6f 74 2c 20 tInputFocus(dsply,.PointerRoot,.
10bc0 52 65 76 65 72 74 54 6f 4e 6f 6e 65 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 0a 0a 09 58 43 RevertToNone,.CurrentTime);...XC
10be0 6c 6f 73 65 44 69 73 70 6c 61 79 28 64 73 70 6c 79 29 3b 0a 09 65 78 69 74 28 30 29 3b 0a 7d 0a loseDisplay(dsply);..exit(0);.}.
10c00 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 6d 65 6e 75 66 69 6c 65 2e 63 00 00 00 00 00 00 00 windowlab-1.40/menufile.c.......
10c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
10c80 30 30 31 32 30 35 31 00 31 31 33 35 36 31 35 35 33 32 37 00 30 31 34 30 33 35 00 20 30 00 00 00 0012051.11356155327.014035..0...
10ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d00 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
10d20 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
10d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e00 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
10e20 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
10e40 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
10e60 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
10e80 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
10ea0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
10ec0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
10ee0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
10f00 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
10f20 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
10f40 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
10f60 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
10f80 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
10fa0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
10fc0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
10fe0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
11000 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
11020 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
11040 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
11060 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
11080 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
110a0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
110c0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
110e0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
11100 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
11120 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
11140 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 10-1301,.USA...*/..#include."win
11160 64 6f 77 6c 61 62 2e 68 22 0a 0a 2f 2f 20 73 65 6d 61 70 68 6f 72 20 61 63 74 69 76 61 74 65 64 dowlab.h"..//.semaphor.activated
11180 20 62 79 20 53 49 47 48 55 50 0a 69 6e 74 20 64 6f 5f 6d 65 6e 75 69 74 65 6d 73 3b 0a 0a 73 74 .by.SIGHUP.int.do_menuitems;..st
111a0 61 74 69 63 20 69 6e 74 20 70 61 72 73 65 6c 69 6e 65 28 63 68 61 72 20 2a 2c 20 63 68 61 72 20 atic.int.parseline(char.*,.char.
111c0 2a 2c 20 63 68 61 72 20 2a 29 3b 0a 0a 4d 65 6e 75 49 74 65 6d 20 2a 6d 65 6e 75 69 74 65 6d 73 *,.char.*);..MenuItem.*menuitems
111e0 20 3d 20 4e 55 4c 4c 3b 0a 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6e 75 6d 5f 6d 65 6e 75 69 74 .=.NULL;.unsigned.int.num_menuit
11200 65 6d 73 3b 0a 23 69 66 64 65 66 20 58 46 54 0a 58 47 6c 79 70 68 49 6e 66 6f 20 65 78 74 65 6e ems;.#ifdef.XFT.XGlyphInfo.exten
11220 74 73 3b 0a 23 65 6e 64 69 66 0a 0a 76 6f 69 64 20 67 65 74 5f 6d 65 6e 75 69 74 65 6d 73 28 76 ts;.#endif..void.get_menuitems(v
11240 6f 69 64 29 0a 7b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 2c 20 62 75 74 74 6f 6e 5f 73 oid).{..unsigned.int.i,.button_s
11260 74 61 72 74 78 20 3d 20 30 3b 0a 09 46 49 4c 45 20 2a 6d 65 6e 75 66 69 6c 65 20 3d 20 4e 55 4c tartx.=.0;..FILE.*menufile.=.NUL
11280 4c 3b 0a 09 63 68 61 72 20 6d 65 6e 75 72 63 70 61 74 68 5b 50 41 54 48 5f 4d 41 58 5d 2c 20 2a L;..char.menurcpath[PATH_MAX],.*
112a0 63 3b 0a 09 65 78 74 65 72 6e 20 69 6e 74 20 65 72 72 6e 6f 3b 0a 0a 09 6d 65 6e 75 69 74 65 6d c;..extern.int.errno;...menuitem
112c0 73 20 3d 20 28 4d 65 6e 75 49 74 65 6d 20 2a 29 6d 61 6c 6c 6f 63 28 4d 41 58 5f 4d 45 4e 55 49 s.=.(MenuItem.*)malloc(MAX_MENUI
112e0 54 45 4d 53 5f 53 49 5a 45 29 3b 0a 09 69 66 20 28 6d 65 6e 75 69 74 65 6d 73 20 3d 3d 20 4e 55 TEMS_SIZE);..if.(menuitems.==.NU
11300 4c 4c 29 0a 09 7b 0a 09 09 65 72 72 28 22 55 6e 61 62 6c 65 20 74 6f 20 61 6c 6c 6f 63 61 74 65 LL)..{...err("Unable.to.allocate
11320 20 6d 65 6e 75 20 69 74 65 6d 73 20 61 72 72 61 79 2e 22 29 3b 0a 09 09 72 65 74 75 72 6e 3b 0a .menu.items.array.");...return;.
11340 09 7d 0a 09 6d 65 6d 73 65 74 28 6d 65 6e 75 69 74 65 6d 73 2c 20 30 2c 20 4d 41 58 5f 4d 45 4e .}..memset(menuitems,.0,.MAX_MEN
11360 55 49 54 45 4d 53 5f 53 49 5a 45 29 3b 0a 0a 09 73 6e 70 72 69 6e 74 66 28 6d 65 6e 75 72 63 70 UITEMS_SIZE);...snprintf(menurcp
11380 61 74 68 2c 20 73 69 7a 65 6f 66 28 6d 65 6e 75 72 63 70 61 74 68 29 2c 20 22 25 73 2f 2e 77 69 ath,.sizeof(menurcpath),."%s/.wi
113a0 6e 64 6f 77 6c 61 62 2f 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 63 22 2c 20 67 65 74 65 6e ndowlab/windowlab.menurc",.geten
113c0 76 28 22 48 4f 4d 45 22 29 29 3b 0a 23 69 66 64 65 66 20 44 45 42 55 47 0a 09 70 72 69 6e 74 66 v("HOME"));.#ifdef.DEBUG..printf
113e0 28 22 74 72 79 69 6e 67 20 74 6f 20 6f 70 65 6e 3a 20 25 73 5c 6e 22 2c 20 6d 65 6e 75 72 63 70 ("trying.to.open:.%s\n",.menurcp
11400 61 74 68 29 3b 0a 23 65 6e 64 69 66 0a 09 69 66 20 28 28 6d 65 6e 75 66 69 6c 65 20 3d 20 66 6f ath);.#endif..if.((menufile.=.fo
11420 70 65 6e 28 6d 65 6e 75 72 63 70 61 74 68 2c 20 22 72 22 29 29 20 3d 3d 20 4e 55 4c 4c 29 0a 09 pen(menurcpath,."r")).==.NULL)..
11440 7b 0a 09 09 73 73 69 7a 65 5f 74 20 6c 65 6e 3b 0a 09 09 2f 2f 20 67 65 74 20 6c 6f 63 61 74 69 {...ssize_t.len;...//.get.locati
11460 6f 6e 20 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 0a 09 09 69 66 20 28 28 6c 65 6e 20 on.of.the.executable...if.((len.
11480 3d 20 72 65 61 64 6c 69 6e 6b 28 22 2f 70 72 6f 63 2f 73 65 6c 66 2f 65 78 65 22 2c 20 6d 65 6e =.readlink("/proc/self/exe",.men
114a0 75 72 63 70 61 74 68 2c 20 50 41 54 48 5f 4d 41 58 20 2d 20 31 29 29 20 3d 3d 20 2d 31 29 0a 09 urcpath,.PATH_MAX.-.1)).==.-1)..
114c0 09 7b 0a 09 09 09 65 72 72 28 22 72 65 61 64 6c 69 6e 6b 28 29 20 2f 70 72 6f 63 2f 73 65 6c 66 .{....err("readlink()./proc/self
114e0 2f 65 78 65 20 66 61 69 6c 65 64 3a 20 25 73 5c 6e 22 2c 20 73 74 72 65 72 72 6f 72 28 65 72 72 /exe.failed:.%s\n",.strerror(err
11500 6e 6f 29 29 3b 0a 09 09 09 6d 65 6e 75 72 63 70 61 74 68 5b 30 5d 20 3d 20 27 2e 27 3b 0a 09 09 no));....menurcpath[0].=.'.';...
11520 09 6d 65 6e 75 72 63 70 61 74 68 5b 31 5d 20 3d 20 27 5c 30 27 3b 0a 09 09 7d 0a 09 09 65 6c 73 .menurcpath[1].=.'\0';...}...els
11540 65 0a 09 09 7b 0a 09 09 09 2f 2f 20 69 6e 73 65 72 74 20 6e 75 6c 6c 20 74 6f 20 65 6e 64 20 74 e...{....//.insert.null.to.end.t
11560 68 65 20 66 69 6c 65 20 70 61 74 68 20 70 72 6f 70 65 72 6c 79 0a 09 09 09 6d 65 6e 75 72 63 70 he.file.path.properly....menurcp
11580 61 74 68 5b 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 0a 09 09 7d 0a 09 09 69 66 20 28 28 63 20 3d 20 ath[len].=.'\0';...}...if.((c.=.
115a0 73 74 72 72 63 68 72 28 6d 65 6e 75 72 63 70 61 74 68 2c 20 27 2f 27 29 29 20 21 3d 20 4e 55 4c strrchr(menurcpath,.'/')).!=.NUL
115c0 4c 29 0a 09 09 7b 0a 09 09 09 2a 63 20 3d 20 27 5c 30 27 3b 0a 09 09 7d 0a 09 09 69 66 20 28 28 L)...{....*c.=.'\0';...}...if.((
115e0 63 20 3d 20 73 74 72 72 63 68 72 28 6d 65 6e 75 72 63 70 61 74 68 2c 20 27 2f 27 29 29 20 21 3d c.=.strrchr(menurcpath,.'/')).!=
11600 20 4e 55 4c 4c 29 0a 09 09 7b 0a 09 09 09 2a 63 20 3d 20 27 5c 30 27 3b 0a 09 09 7d 0a 09 09 73 .NULL)...{....*c.=.'\0';...}...s
11620 74 72 6e 63 61 74 28 6d 65 6e 75 72 63 70 61 74 68 2c 20 22 2f 65 74 63 2f 77 69 6e 64 6f 77 6c trncat(menurcpath,."/etc/windowl
11640 61 62 2e 6d 65 6e 75 72 63 22 2c 20 50 41 54 48 5f 4d 41 58 20 2d 20 73 74 72 6c 65 6e 28 6d 65 ab.menurc",.PATH_MAX.-.strlen(me
11660 6e 75 72 63 70 61 74 68 29 20 2d 20 31 29 3b 0a 23 69 66 64 65 66 20 44 45 42 55 47 0a 09 09 70 nurcpath).-.1);.#ifdef.DEBUG...p
11680 72 69 6e 74 66 28 22 74 72 79 69 6e 67 20 74 6f 20 6f 70 65 6e 3a 20 25 73 5c 6e 22 2c 20 6d 65 rintf("trying.to.open:.%s\n",.me
116a0 6e 75 72 63 70 61 74 68 29 3b 0a 23 65 6e 64 69 66 0a 09 09 69 66 20 28 28 6d 65 6e 75 66 69 6c nurcpath);.#endif...if.((menufil
116c0 65 20 3d 20 66 6f 70 65 6e 28 6d 65 6e 75 72 63 70 61 74 68 2c 20 22 72 22 29 29 20 3d 3d 20 4e e.=.fopen(menurcpath,."r")).==.N
116e0 55 4c 4c 29 0a 09 09 7b 0a 23 69 66 64 65 66 20 44 45 42 55 47 0a 09 09 09 70 72 69 6e 74 66 28 ULL)...{.#ifdef.DEBUG....printf(
11700 22 74 72 79 69 6e 67 20 74 6f 20 6f 70 65 6e 3a 20 25 73 5c 6e 22 2c 20 44 45 46 5f 4d 45 4e 55 "trying.to.open:.%s\n",.DEF_MENU
11720 52 43 29 3b 0a 23 65 6e 64 69 66 0a 09 09 09 6d 65 6e 75 66 69 6c 65 20 3d 20 66 6f 70 65 6e 28 RC);.#endif....menufile.=.fopen(
11740 44 45 46 5f 4d 45 4e 55 52 43 2c 20 22 72 22 29 3b 0a 09 09 7d 0a 09 7d 0a 09 69 66 20 28 6d 65 DEF_MENURC,."r");...}..}..if.(me
11760 6e 75 66 69 6c 65 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 6e 75 6d 5f 6d 65 6e 75 69 74 65 nufile.!=.NULL)..{...num_menuite
11780 6d 73 20 3d 20 30 3b 0a 09 09 77 68 69 6c 65 20 28 28 21 66 65 6f 66 28 6d 65 6e 75 66 69 6c 65 ms.=.0;...while.((!feof(menufile
117a0 29 29 20 26 26 20 28 21 66 65 72 72 6f 72 28 6d 65 6e 75 66 69 6c 65 29 29 20 26 26 20 28 6e 75 )).&&.(!ferror(menufile)).&&.(nu
117c0 6d 5f 6d 65 6e 75 69 74 65 6d 73 20 3c 20 4d 41 58 5f 4d 45 4e 55 49 54 45 4d 53 29 29 0a 09 09 m_menuitems.<.MAX_MENUITEMS))...
117e0 7b 0a 09 09 09 63 68 61 72 20 6d 65 6e 75 73 74 72 5b 53 54 52 5f 53 49 5a 45 5d 20 3d 20 22 22 {....char.menustr[STR_SIZE].=.""
11800 3b 0a 09 09 09 66 67 65 74 73 28 6d 65 6e 75 73 74 72 2c 20 53 54 52 5f 53 49 5a 45 2c 20 6d 65 ;....fgets(menustr,.STR_SIZE,.me
11820 6e 75 66 69 6c 65 29 3b 0a 09 09 09 69 66 20 28 73 74 72 6c 65 6e 28 6d 65 6e 75 73 74 72 29 20 nufile);....if.(strlen(menustr).
11840 21 3d 20 30 29 0a 09 09 09 7b 0a 09 09 09 09 63 68 61 72 20 2a 70 6d 65 6e 75 73 74 72 20 3d 20 !=.0)....{.....char.*pmenustr.=.
11860 6d 65 6e 75 73 74 72 3b 0a 09 09 09 09 77 68 69 6c 65 20 28 70 6d 65 6e 75 73 74 72 5b 30 5d 20 menustr;.....while.(pmenustr[0].
11880 3d 3d 20 27 20 27 20 7c 7c 20 70 6d 65 6e 75 73 74 72 5b 30 5d 20 3d 3d 20 27 5c 74 27 29 0a 09 ==.'.'.||.pmenustr[0].==.'\t')..
118a0 09 09 09 7b 0a 09 09 09 09 09 70 6d 65 6e 75 73 74 72 2b 2b 3b 0a 09 09 09 09 7d 0a 09 09 09 09 ...{......pmenustr++;.....}.....
118c0 69 66 20 28 70 6d 65 6e 75 73 74 72 5b 30 5d 20 21 3d 20 27 23 27 29 0a 09 09 09 09 7b 0a 09 09 if.(pmenustr[0].!=.'#').....{...
118e0 09 09 09 63 68 61 72 20 6c 61 62 65 6c 73 74 72 5b 53 54 52 5f 53 49 5a 45 5d 20 3d 20 22 22 2c ...char.labelstr[STR_SIZE].=."",
11900 20 63 6f 6d 6d 61 6e 64 73 74 72 5b 53 54 52 5f 53 49 5a 45 5d 20 3d 20 22 22 3b 0a 09 09 09 09 .commandstr[STR_SIZE].=."";.....
11920 09 69 66 20 28 70 61 72 73 65 6c 69 6e 65 28 70 6d 65 6e 75 73 74 72 2c 20 6c 61 62 65 6c 73 74 .if.(parseline(pmenustr,.labelst
11940 72 2c 20 63 6f 6d 6d 61 6e 64 73 74 72 29 29 0a 09 09 09 09 09 7b 0a 09 09 09 09 09 09 6d 65 6e r,.commandstr))......{.......men
11960 75 69 74 65 6d 73 5b 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 5d 2e 6c 61 62 65 6c 20 3d 20 28 63 uitems[num_menuitems].label.=.(c
11980 68 61 72 20 2a 29 6d 61 6c 6c 6f 63 28 73 74 72 6c 65 6e 28 6c 61 62 65 6c 73 74 72 29 20 2b 20 har.*)malloc(strlen(labelstr).+.
119a0 31 29 3b 0a 09 09 09 09 09 09 6d 65 6e 75 69 74 65 6d 73 5b 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 1);.......menuitems[num_menuitem
119c0 73 5d 2e 63 6f 6d 6d 61 6e 64 20 3d 20 28 63 68 61 72 20 2a 29 6d 61 6c 6c 6f 63 28 73 74 72 6c s].command.=.(char.*)malloc(strl
119e0 65 6e 28 63 6f 6d 6d 61 6e 64 73 74 72 29 20 2b 20 31 29 3b 0a 09 09 09 09 09 09 73 74 72 63 70 en(commandstr).+.1);.......strcp
11a00 79 28 6d 65 6e 75 69 74 65 6d 73 5b 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 5d 2e 6c 61 62 65 6c y(menuitems[num_menuitems].label
11a20 2c 20 6c 61 62 65 6c 73 74 72 29 3b 0a 09 09 09 09 09 09 73 74 72 63 70 79 28 6d 65 6e 75 69 74 ,.labelstr);.......strcpy(menuit
11a40 65 6d 73 5b 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 5d 2e 63 6f 6d 6d 61 6e 64 2c 20 63 6f 6d 6d ems[num_menuitems].command,.comm
11a60 61 6e 64 73 74 72 29 3b 0a 09 09 09 09 09 09 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 2b 2b 3b 0a andstr);.......num_menuitems++;.
11a80 09 09 09 09 09 7d 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 66 63 6c 6f 73 65 28 6d .....}.....}....}...}...fclose(m
11aa0 65 6e 75 66 69 6c 65 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 2f 2f 20 6f 6e 65 20 6d enufile);..}..else..{...//.one.m
11ac0 65 6e 75 20 69 74 65 6d 20 2d 20 78 74 65 72 6d 0a 09 09 65 72 72 28 22 63 61 6e 27 74 20 66 69 enu.item.-.xterm...err("can't.fi
11ae0 6e 64 20 7e 2f 2e 77 69 6e 64 6f 77 6c 61 62 2f 77 69 6e 64 6f 77 6c 61 62 2e 6d 65 6e 75 72 63 nd.~/.windowlab/windowlab.menurc
11b00 2c 20 25 73 20 6f 72 20 25 73 5c 6e 22 2c 20 6d 65 6e 75 72 63 70 61 74 68 2c 20 44 45 46 5f 4d ,.%s.or.%s\n",.menurcpath,.DEF_M
11b20 45 4e 55 52 43 29 3b 0a 09 09 6d 65 6e 75 69 74 65 6d 73 5b 30 5d 2e 63 6f 6d 6d 61 6e 64 20 3d ENURC);...menuitems[0].command.=
11b40 20 28 63 68 61 72 20 2a 29 6d 61 6c 6c 6f 63 28 73 74 72 6c 65 6e 28 4e 4f 5f 4d 45 4e 55 5f 43 .(char.*)malloc(strlen(NO_MENU_C
11b60 4f 4d 4d 41 4e 44 29 20 2b 20 31 29 3b 0a 09 09 73 74 72 63 70 79 28 6d 65 6e 75 69 74 65 6d 73 OMMAND).+.1);...strcpy(menuitems
11b80 5b 30 5d 2e 63 6f 6d 6d 61 6e 64 2c 20 4e 4f 5f 4d 45 4e 55 5f 43 4f 4d 4d 41 4e 44 29 3b 0a 09 [0].command,.NO_MENU_COMMAND);..
11ba0 09 6d 65 6e 75 69 74 65 6d 73 5b 30 5d 2e 6c 61 62 65 6c 20 3d 20 28 63 68 61 72 20 2a 29 6d 61 .menuitems[0].label.=.(char.*)ma
11bc0 6c 6c 6f 63 28 73 74 72 6c 65 6e 28 4e 4f 5f 4d 45 4e 55 5f 4c 41 42 45 4c 29 20 2b 20 31 29 3b lloc(strlen(NO_MENU_LABEL).+.1);
11be0 0a 09 09 73 74 72 63 70 79 28 6d 65 6e 75 69 74 65 6d 73 5b 30 5d 2e 6c 61 62 65 6c 2c 20 4e 4f ...strcpy(menuitems[0].label,.NO
11c00 5f 4d 45 4e 55 5f 4c 41 42 45 4c 29 3b 0a 09 09 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 20 3d 20 _MENU_LABEL);...num_menuitems.=.
11c20 31 3b 0a 09 7d 0a 0a 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 6d 65 6e 75 1;..}...for.(i.=.0;.i.<.num_menu
11c40 69 74 65 6d 73 3b 20 69 2b 2b 29 0a 09 7b 0a 09 09 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 78 20 items;.i++)..{...menuitems[i].x.
11c60 3d 20 62 75 74 74 6f 6e 5f 73 74 61 72 74 78 3b 0a 23 69 66 64 65 66 20 58 46 54 0a 09 09 58 66 =.button_startx;.#ifdef.XFT...Xf
11c80 74 54 65 78 74 45 78 74 65 6e 74 73 38 28 64 73 70 6c 79 2c 20 78 66 74 66 6f 6e 74 2c 20 28 75 tTextExtents8(dsply,.xftfont,.(u
11ca0 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 nsigned.char.*)menuitems[i].labe
11cc0 6c 2c 20 73 74 72 6c 65 6e 28 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 29 2c 20 26 l,.strlen(menuitems[i].label),.&
11ce0 65 78 74 65 6e 74 73 29 3b 0a 09 09 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 77 69 64 74 68 20 3d extents);...menuitems[i].width.=
11d00 20 65 78 74 65 6e 74 73 2e 77 69 64 74 68 20 2b 20 28 53 50 41 43 45 20 2a 20 34 29 3b 0a 23 65 .extents.width.+.(SPACE.*.4);.#e
11d20 6c 73 65 0a 09 09 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 77 69 64 74 68 20 3d 20 58 54 65 78 74 lse...menuitems[i].width.=.XText
11d40 57 69 64 74 68 28 66 6f 6e 74 2c 20 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 2c 20 Width(font,.menuitems[i].label,.
11d60 73 74 72 6c 65 6e 28 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 29 29 20 2b 20 28 53 strlen(menuitems[i].label)).+.(S
11d80 50 41 43 45 20 2a 20 34 29 3b 0a 23 65 6e 64 69 66 0a 09 09 62 75 74 74 6f 6e 5f 73 74 61 72 74 PACE.*.4);.#endif...button_start
11da0 78 20 2b 3d 20 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 77 69 64 74 68 20 2b 20 31 3b 0a 09 7d 0a x.+=.menuitems[i].width.+.1;..}.
11dc0 09 2f 2f 20 6d 65 6e 75 20 69 74 65 6d 73 20 68 61 76 65 20 62 65 65 6e 20 62 75 69 6c 74 0a 09 .//.menu.items.have.been.built..
11de0 64 6f 5f 6d 65 6e 75 69 74 65 6d 73 20 3d 20 30 3b 0a 7d 0a 0a 69 6e 74 20 70 61 72 73 65 6c 69 do_menuitems.=.0;.}..int.parseli
11e00 6e 65 28 63 68 61 72 20 2a 6d 65 6e 75 73 74 72 2c 20 63 68 61 72 20 2a 6c 61 62 65 6c 73 74 72 ne(char.*menustr,.char.*labelstr
11e20 2c 20 63 68 61 72 20 2a 63 6f 6d 6d 61 6e 64 73 74 72 29 0a 7b 0a 09 69 6e 74 20 73 75 63 63 65 ,.char.*commandstr).{..int.succe
11e40 73 73 20 3d 20 30 3b 0a 09 69 6e 74 20 6d 65 6e 75 73 74 72 6c 65 6e 20 3d 20 73 74 72 6c 65 6e ss.=.0;..int.menustrlen.=.strlen
11e60 28 6d 65 6e 75 73 74 72 29 3b 0a 09 63 68 61 72 20 2a 70 74 65 6d 70 20 3d 20 4e 55 4c 4c 3b 0a (menustr);..char.*ptemp.=.NULL;.
11e80 09 63 68 61 72 20 2a 6d 65 6e 75 73 74 72 63 70 79 20 3d 20 28 63 68 61 72 20 2a 29 6d 61 6c 6c .char.*menustrcpy.=.(char.*)mall
11ea0 6f 63 28 6d 65 6e 75 73 74 72 6c 65 6e 20 2b 20 31 29 3b 0a 0a 09 69 66 20 28 6d 65 6e 75 73 74 oc(menustrlen.+.1);...if.(menust
11ec0 72 63 70 79 20 3d 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 30 3b 0a 09 7d 0a rcpy.==.NULL)..{...return.0;..}.
11ee0 0a 09 73 74 72 63 70 79 28 6d 65 6e 75 73 74 72 63 70 79 2c 20 6d 65 6e 75 73 74 72 29 3b 0a 09 ..strcpy(menustrcpy,.menustr);..
11f00 70 74 65 6d 70 20 3d 20 73 74 72 74 6f 6b 28 6d 65 6e 75 73 74 72 63 70 79 2c 20 22 3a 22 29 3b ptemp.=.strtok(menustrcpy,.":");
11f20 0a 0a 09 69 66 20 28 70 74 65 6d 70 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 73 74 72 63 70 ...if.(ptemp.!=.NULL)..{...strcp
11f40 79 28 6c 61 62 65 6c 73 74 72 2c 20 70 74 65 6d 70 29 3b 0a 09 09 70 74 65 6d 70 20 3d 20 73 74 y(labelstr,.ptemp);...ptemp.=.st
11f60 72 74 6f 6b 28 4e 55 4c 4c 2c 20 22 5c 6e 22 29 3b 0a 09 09 69 66 20 28 70 74 65 6d 70 20 21 3d rtok(NULL,."\n");...if.(ptemp.!=
11f80 20 4e 55 4c 4c 29 20 2f 2f 20 72 69 67 68 74 20 6f 66 20 27 3a 27 20 69 73 20 6e 6f 74 20 65 6d .NULL).//.right.of.':'.is.not.em
11fa0 70 74 79 0a 09 09 7b 0a 09 09 09 77 68 69 6c 65 20 28 2a 70 74 65 6d 70 20 3d 3d 20 27 20 27 20 pty...{....while.(*ptemp.==.'.'.
11fc0 7c 7c 20 2a 70 74 65 6d 70 20 3d 3d 20 27 5c 74 27 29 0a 09 09 09 7b 0a 09 09 09 09 70 74 65 6d ||.*ptemp.==.'\t')....{.....ptem
11fe0 70 2b 2b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 20 28 2a 70 74 65 6d 70 20 21 3d 20 27 5c 30 27 20 p++;....}....if.(*ptemp.!=.'\0'.
12000 26 26 20 2a 70 74 65 6d 70 20 21 3d 20 27 5c 72 27 20 26 26 20 2a 70 74 65 6d 70 20 21 3d 20 27 &&.*ptemp.!=.'\r'.&&.*ptemp.!=.'
12020 5c 6e 27 29 0a 09 09 09 7b 0a 09 09 09 09 73 74 72 63 70 79 28 63 6f 6d 6d 61 6e 64 73 74 72 2c \n')....{.....strcpy(commandstr,
12040 20 70 74 65 6d 70 29 3b 0a 09 09 09 09 73 75 63 63 65 73 73 20 3d 20 31 3b 0a 09 09 09 7d 0a 09 .ptemp);.....success.=.1;....}..
12060 09 7d 0a 09 7d 0a 09 69 66 20 28 6d 65 6e 75 73 74 72 63 70 79 20 21 3d 20 4e 55 4c 4c 29 0a 09 .}..}..if.(menustrcpy.!=.NULL)..
12080 7b 0a 09 09 66 72 65 65 28 6d 65 6e 75 73 74 72 63 70 79 29 3b 0a 09 7d 0a 09 72 65 74 75 72 6e {...free(menustrcpy);..}..return
120a0 20 73 75 63 63 65 73 73 3b 0a 7d 0a 0a 76 6f 69 64 20 66 72 65 65 5f 6d 65 6e 75 69 74 65 6d 73 .success;.}..void.free_menuitems
120c0 28 76 6f 69 64 29 0a 7b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 3b 0a 09 69 66 20 28 6d (void).{..unsigned.int.i;..if.(m
120e0 65 6e 75 69 74 65 6d 73 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 66 6f 72 20 28 69 20 3d 20 enuitems.!=.NULL)..{...for.(i.=.
12100 30 3b 20 69 20 3c 20 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 3b 20 69 2b 2b 29 0a 09 09 7b 0a 09 0;.i.<.num_menuitems;.i++)...{..
12120 09 09 69 66 20 28 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 20 21 3d 20 4e 55 4c 4c ..if.(menuitems[i].label.!=.NULL
12140 29 0a 09 09 09 7b 0a 09 09 09 09 66 72 65 65 28 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 )....{.....free(menuitems[i].lab
12160 65 6c 29 3b 0a 09 09 09 09 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 20 3d 20 4e 55 el);.....menuitems[i].label.=.NU
12180 4c 4c 3b 0a 09 09 09 7d 0a 09 09 09 69 66 20 28 6d 65 6e 75 69 74 65 6d 73 5b 69 5d 2e 63 6f 6d LL;....}....if.(menuitems[i].com
121a0 6d 61 6e 64 20 21 3d 20 4e 55 4c 4c 29 0a 09 09 09 7b 0a 09 09 09 09 66 72 65 65 28 6d 65 6e 75 mand.!=.NULL)....{.....free(menu
121c0 69 74 65 6d 73 5b 69 5d 2e 63 6f 6d 6d 61 6e 64 29 3b 0a 09 09 09 09 6d 65 6e 75 69 74 65 6d 73 items[i].command);.....menuitems
121e0 5b 69 5d 2e 63 6f 6d 6d 61 6e 64 20 3d 20 4e 55 4c 4c 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 66 [i].command.=.NULL;....}...}...f
12200 72 65 65 28 6d 65 6e 75 69 74 65 6d 73 29 3b 0a 09 09 6d 65 6e 75 69 74 65 6d 73 20 3d 20 4e 55 ree(menuitems);...menuitems.=.NU
12220 4c 4c 3b 0a 09 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 LL;..}.}........................
12240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
122a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
122c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
122e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12400 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 6d 61 6e 61 67 65 2e 63 00 00 00 00 00 00 00 00 00 windowlab-1.40/manage.c.........
12420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
12480 30 30 34 32 32 34 37 00 31 31 33 35 36 31 35 35 33 31 33 00 30 31 33 34 36 36 00 20 30 00 00 00 0042247.11356155313.013466..0...
124a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
124c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
124e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12500 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
12520 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
12540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12600 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
12620 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
12640 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
12660 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
12680 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
126a0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
126c0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
126e0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
12700 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
12720 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
12740 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
12760 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
12780 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
127a0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
127c0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
127e0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
12800 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
12820 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
12840 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
12860 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
12880 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
128a0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
128c0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
128e0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
12900 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
12920 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
12940 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 10-1301,.USA...*/..#include."win
12960 64 6f 77 6c 61 62 2e 68 22 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6d 69 74 5f 73 69 7a dowlab.h"..static.void.limit_siz
12980 65 28 43 6c 69 65 6e 74 20 2a 2c 20 52 65 63 74 20 2a 29 3b 0a 73 74 61 74 69 63 20 69 6e 74 20 e(Client.*,.Rect.*);.static.int.
129a0 67 65 74 5f 69 6e 63 73 69 7a 65 28 43 6c 69 65 6e 74 20 2a 2c 20 75 6e 73 69 67 6e 65 64 20 69 get_incsize(Client.*,.unsigned.i
129c0 6e 74 20 2a 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 2c 20 52 65 63 74 20 2a 2c 20 69 6e nt.*,.unsigned.int.*,.Rect.*,.in
129e0 74 29 3b 0a 0a 76 6f 69 64 20 72 61 69 73 65 5f 6c 6f 77 65 72 28 43 6c 69 65 6e 74 20 2a 63 29 t);..void.raise_lower(Client.*c)
12a00 0a 7b 0a 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 69 66 20 28 63 20 3d 3d .{..if.(c.!=.NULL)..{...if.(c.==
12a20 20 74 6f 70 6d 6f 73 74 5f 63 6c 69 65 6e 74 29 0a 09 09 7b 0a 09 09 09 6c 6f 77 65 72 5f 77 69 .topmost_client)...{....lower_wi
12a40 6e 28 63 29 3b 0a 09 09 09 74 6f 70 6d 6f 73 74 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 20 n(c);....topmost_client.=.NULL;.
12a60 2f 2f 20 6c 61 7a 79 20 62 75 74 20 61 6d 69 77 6d 20 64 6f 65 73 20 73 69 6d 69 6c 61 72 0a 09 //.lazy.but.amiwm.does.similar..
12a80 09 7d 0a 09 09 65 6c 73 65 0a 09 09 7b 0a 09 09 09 72 61 69 73 65 5f 77 69 6e 28 63 29 3b 0a 09 .}...else...{....raise_win(c);..
12aa0 09 09 74 6f 70 6d 6f 73 74 5f 63 6c 69 65 6e 74 20 3d 20 63 3b 0a 09 09 7d 0a 09 7d 0a 7d 0a 0a ..topmost_client.=.c;...}..}.}..
12ac0 2f 2a 20 69 6e 63 72 65 6d 65 6e 74 20 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 20 68 65 72 65 20 61 /*.increment.ignore_unmap.here.a
12ae0 6e 64 20 64 65 63 72 65 6d 65 6e 74 20 69 74 20 69 6e 20 68 61 6e 64 6c 65 5f 75 6e 6d 61 70 5f nd.decrement.it.in.handle_unmap_
12b00 65 76 65 6e 74 20 69 6e 20 65 76 65 6e 74 73 2e 63 20 2a 2f 0a 0a 76 6f 69 64 20 68 69 64 65 28 event.in.events.c.*/..void.hide(
12b20 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a Client.*c).{..if.(c.!=.NULL)..{.
12b40 09 09 69 66 20 28 21 63 2d 3e 68 69 64 64 65 6e 29 0a 09 09 7b 0a 09 09 09 63 2d 3e 69 67 6e 6f ..if.(!c->hidden)...{....c->igno
12b60 72 65 5f 75 6e 6d 61 70 2b 2b 3b 0a 09 09 09 63 2d 3e 68 69 64 64 65 6e 20 3d 20 31 3b 0a 09 09 re_unmap++;....c->hidden.=.1;...
12b80 09 69 66 20 28 63 20 3d 3d 20 74 6f 70 6d 6f 73 74 5f 63 6c 69 65 6e 74 29 0a 09 09 09 7b 0a 09 .if.(c.==.topmost_client)....{..
12ba0 09 09 09 74 6f 70 6d 6f 73 74 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 0a 09 09 09 7d 0a 09 ...topmost_client.=.NULL;....}..
12bc0 09 09 58 55 6e 6d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 29 3b ..XUnmapWindow(dsply,.c->frame);
12be0 0a 09 09 09 58 55 6e 6d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f ....XUnmapWindow(dsply,.c->windo
12c00 77 29 3b 0a 09 09 09 73 65 74 5f 77 6d 5f 73 74 61 74 65 28 63 2c 20 49 63 6f 6e 69 63 53 74 61 w);....set_wm_state(c,.IconicSta
12c20 74 65 29 3b 0a 09 09 09 63 68 65 63 6b 5f 66 6f 63 75 73 28 67 65 74 5f 70 72 65 76 5f 66 6f 63 te);....check_focus(get_prev_foc
12c40 75 73 65 64 28 29 29 3b 0a 09 09 7d 0a 09 7d 0a 7d 0a 0a 76 6f 69 64 20 75 6e 68 69 64 65 28 43 used());...}..}.}..void.unhide(C
12c60 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 lient.*c).{..if.(c.!=.NULL)..{..
12c80 09 69 66 20 28 63 2d 3e 68 69 64 64 65 6e 29 0a 09 09 7b 0a 09 09 09 63 2d 3e 68 69 64 64 65 6e .if.(c->hidden)...{....c->hidden
12ca0 20 3d 20 30 3b 0a 09 09 09 74 6f 70 6d 6f 73 74 5f 63 6c 69 65 6e 74 20 3d 20 63 3b 0a 09 09 09 .=.0;....topmost_client.=.c;....
12cc0 58 4d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 29 3b 0a 09 09 XMapWindow(dsply,.c->window);...
12ce0 09 58 4d 61 70 52 61 69 73 65 64 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 29 3b 0a 09 09 .XMapRaised(dsply,.c->frame);...
12d00 09 73 65 74 5f 77 6d 5f 73 74 61 74 65 28 63 2c 20 4e 6f 72 6d 61 6c 53 74 61 74 65 29 3b 0a 09 .set_wm_state(c,.NormalState);..
12d20 09 7d 0a 09 7d 0a 7d 0a 0a 76 6f 69 64 20 74 6f 67 67 6c 65 5f 66 75 6c 6c 73 63 72 65 65 6e 28 .}..}.}..void.toggle_fullscreen(
12d40 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 6e 74 20 78 6f 66 66 73 65 74 2c 20 79 6f 66 66 73 Client.*c).{..int.xoffset,.yoffs
12d60 65 74 2c 20 6d 61 78 77 69 6e 77 69 64 74 68 2c 20 6d 61 78 77 69 6e 68 65 69 67 68 74 3b 0a 09 et,.maxwinwidth,.maxwinheight;..
12d80 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 20 26 26 20 21 63 2d 3e 74 72 61 6e 73 29 0a 09 7b 0a 09 if.(c.!=.NULL.&&.!c->trans)..{..
12da0 09 69 66 20 28 63 20 3d 3d 20 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 29 20 2f 2f 20 .if.(c.==.fullscreen_client).//.
12dc0 72 65 73 65 74 20 74 6f 20 6f 72 69 67 69 6e 61 6c 20 73 69 7a 65 0a 09 09 7b 0a 09 09 09 63 2d reset.to.original.size...{....c-
12de0 3e 78 20 3d 20 66 73 5f 70 72 65 76 64 69 6d 73 2e 78 3b 0a 09 09 09 63 2d 3e 79 20 3d 20 66 73 >x.=.fs_prevdims.x;....c->y.=.fs
12e00 5f 70 72 65 76 64 69 6d 73 2e 79 3b 0a 09 09 09 63 2d 3e 77 69 64 74 68 20 3d 20 66 73 5f 70 72 _prevdims.y;....c->width.=.fs_pr
12e20 65 76 64 69 6d 73 2e 77 69 64 74 68 3b 0a 09 09 09 63 2d 3e 68 65 69 67 68 74 20 3d 20 66 73 5f evdims.width;....c->height.=.fs_
12e40 70 72 65 76 64 69 6d 73 2e 68 65 69 67 68 74 3b 0a 09 09 09 58 4d 6f 76 65 52 65 73 69 7a 65 57 prevdims.height;....XMoveResizeW
12e60 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 63 2d 3e 78 2c 20 63 2d 3e indow(dsply,.c->frame,.c->x,.c->
12e80 79 20 2d 20 42 41 52 48 45 49 47 48 54 28 29 2c 20 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 68 65 y.-.BARHEIGHT(),.c->width,.c->he
12ea0 69 67 68 74 20 2b 20 42 41 52 48 45 49 47 48 54 28 29 29 3b 0a 09 09 09 58 4d 6f 76 65 52 65 73 ight.+.BARHEIGHT());....XMoveRes
12ec0 69 7a 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 30 2c 20 42 izeWindow(dsply,.c->window,.0,.B
12ee0 41 52 48 45 49 47 48 54 28 29 2c 20 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 68 65 69 67 68 74 29 ARHEIGHT(),.c->width,.c->height)
12f00 3b 0a 09 09 09 73 65 6e 64 5f 63 6f 6e 66 69 67 28 63 29 3b 0a 09 09 09 66 75 6c 6c 73 63 72 65 ;....send_config(c);....fullscre
12f20 65 6e 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 0a 09 09 09 73 68 6f 77 69 6e 67 5f 74 61 73 en_client.=.NULL;....showing_tas
12f40 6b 62 61 72 20 3d 20 31 3b 0a 09 09 7d 0a 09 09 65 6c 73 65 20 2f 2f 20 6d 61 6b 65 20 66 75 6c kbar.=.1;...}...else.//.make.ful
12f60 6c 73 63 72 65 65 6e 0a 09 09 7b 0a 09 09 09 78 6f 66 66 73 65 74 20 3d 20 79 6f 66 66 73 65 74 lscreen...{....xoffset.=.yoffset
12f80 20 3d 20 30 3b 0a 09 09 09 6d 61 78 77 69 6e 77 69 64 74 68 20 3d 20 44 69 73 70 6c 61 79 57 69 .=.0;....maxwinwidth.=.DisplayWi
12fa0 64 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b 0a 09 09 09 6d 61 78 77 69 6e 68 65 69 dth(dsply,.screen);....maxwinhei
12fc0 67 68 74 20 3d 20 44 69 73 70 6c 61 79 48 65 69 67 68 74 28 64 73 70 6c 79 2c 20 73 63 72 65 65 ght.=.DisplayHeight(dsply,.scree
12fe0 6e 29 20 2d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 09 09 69 66 20 28 66 75 6c 6c 73 63 72 n).-.BARHEIGHT();....if.(fullscr
13000 65 65 6e 5f 63 6c 69 65 6e 74 20 21 3d 20 4e 55 4c 4c 29 20 2f 2f 20 72 65 73 65 74 20 65 78 69 een_client.!=.NULL).//.reset.exi
13020 73 74 69 6e 67 20 66 75 6c 6c 73 63 72 65 65 6e 20 77 69 6e 64 6f 77 20 74 6f 20 6f 72 69 67 69 sting.fullscreen.window.to.origi
13040 6e 61 6c 20 73 69 7a 65 0a 09 09 09 7b 0a 09 09 09 09 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 nal.size....{.....fullscreen_cli
13060 65 6e 74 2d 3e 78 20 3d 20 66 73 5f 70 72 65 76 64 69 6d 73 2e 78 3b 0a 09 09 09 09 66 75 6c 6c ent->x.=.fs_prevdims.x;.....full
13080 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 2d 3e 79 20 3d 20 66 73 5f 70 72 65 76 64 69 6d 73 2e 79 screen_client->y.=.fs_prevdims.y
130a0 3b 0a 09 09 09 09 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 2d 3e 77 69 64 74 68 20 3d ;.....fullscreen_client->width.=
130c0 20 66 73 5f 70 72 65 76 64 69 6d 73 2e 77 69 64 74 68 3b 0a 09 09 09 09 66 75 6c 6c 73 63 72 65 .fs_prevdims.width;.....fullscre
130e0 65 6e 5f 63 6c 69 65 6e 74 2d 3e 68 65 69 67 68 74 20 3d 20 66 73 5f 70 72 65 76 64 69 6d 73 2e en_client->height.=.fs_prevdims.
13100 68 65 69 67 68 74 3b 0a 09 09 09 09 58 4d 6f 76 65 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 64 73 height;.....XMoveResizeWindow(ds
13120 70 6c 79 2c 20 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 2d 3e 66 72 61 6d 65 2c 20 66 ply,.fullscreen_client->frame,.f
13140 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 2d 3e 78 2c 20 66 75 6c 6c 73 63 72 65 65 6e 5f ullscreen_client->x,.fullscreen_
13160 63 6c 69 65 6e 74 2d 3e 79 20 2d 20 42 41 52 48 45 49 47 48 54 28 29 2c 20 66 75 6c 6c 73 63 72 client->y.-.BARHEIGHT(),.fullscr
13180 65 65 6e 5f 63 6c 69 65 6e 74 2d 3e 77 69 64 74 68 2c 20 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c een_client->width,.fullscreen_cl
131a0 69 65 6e 74 2d 3e 68 65 69 67 68 74 20 2b 20 42 41 52 48 45 49 47 48 54 28 29 29 3b 0a 09 09 09 ient->height.+.BARHEIGHT());....
131c0 09 58 4d 6f 76 65 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 66 75 6c 6c 73 63 .XMoveResizeWindow(dsply,.fullsc
131e0 72 65 65 6e 5f 63 6c 69 65 6e 74 2d 3e 77 69 6e 64 6f 77 2c 20 30 2c 20 42 41 52 48 45 49 47 48 reen_client->window,.0,.BARHEIGH
13200 54 28 29 2c 20 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 2d 3e 77 69 64 74 68 2c 20 66 T(),.fullscreen_client->width,.f
13220 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 2d 3e 68 65 69 67 68 74 29 3b 0a 09 09 09 09 73 ullscreen_client->height);.....s
13240 65 6e 64 5f 63 6f 6e 66 69 67 28 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 29 3b 0a 09 end_config(fullscreen_client);..
13260 09 09 7d 0a 09 09 09 66 73 5f 70 72 65 76 64 69 6d 73 2e 78 20 3d 20 63 2d 3e 78 3b 0a 09 09 09 ..}....fs_prevdims.x.=.c->x;....
13280 66 73 5f 70 72 65 76 64 69 6d 73 2e 79 20 3d 20 63 2d 3e 79 3b 0a 09 09 09 66 73 5f 70 72 65 76 fs_prevdims.y.=.c->y;....fs_prev
132a0 64 69 6d 73 2e 77 69 64 74 68 20 3d 20 63 2d 3e 77 69 64 74 68 3b 0a 09 09 09 66 73 5f 70 72 65 dims.width.=.c->width;....fs_pre
132c0 76 64 69 6d 73 2e 68 65 69 67 68 74 20 3d 20 63 2d 3e 68 65 69 67 68 74 3b 0a 09 09 09 63 2d 3e vdims.height.=.c->height;....c->
132e0 78 20 3d 20 30 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 63 2d 3e 79 20 x.=.0.-.BORDERWIDTH(c);....c->y.
13300 3d 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a =.BARHEIGHT().-.BORDERWIDTH(c);.
13320 09 09 09 63 2d 3e 77 69 64 74 68 20 3d 20 6d 61 78 77 69 6e 77 69 64 74 68 3b 0a 09 09 09 63 2d ...c->width.=.maxwinwidth;....c-
13340 3e 68 65 69 67 68 74 20 3d 20 6d 61 78 77 69 6e 68 65 69 67 68 74 3b 0a 09 09 09 69 66 20 28 63 >height.=.maxwinheight;....if.(c
13360 2d 3e 73 69 7a 65 2d 3e 66 6c 61 67 73 20 26 20 50 4d 61 78 53 69 7a 65 20 7c 7c 20 63 2d 3e 73 ->size->flags.&.PMaxSize.||.c->s
13380 69 7a 65 2d 3e 66 6c 61 67 73 20 26 20 50 52 65 73 69 7a 65 49 6e 63 29 0a 09 09 09 7b 0a 09 09 ize->flags.&.PResizeInc)....{...
133a0 09 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 66 6c 61 67 73 20 26 20 50 52 65 73 69 7a 65 49 6e ..if.(c->size->flags.&.PResizeIn
133c0 63 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 52 65 63 74 20 6d 61 78 77 69 6e 73 69 7a 65 3b 0a 09 c).....{......Rect.maxwinsize;..
133e0 09 09 09 09 6d 61 78 77 69 6e 73 69 7a 65 2e 78 20 3d 20 78 6f 66 66 73 65 74 3b 0a 09 09 09 09 ....maxwinsize.x.=.xoffset;.....
13400 09 6d 61 78 77 69 6e 73 69 7a 65 2e 77 69 64 74 68 20 3d 20 6d 61 78 77 69 6e 77 69 64 74 68 3b .maxwinsize.width.=.maxwinwidth;
13420 0a 09 09 09 09 09 6d 61 78 77 69 6e 73 69 7a 65 2e 79 20 3d 20 79 6f 66 66 73 65 74 3b 0a 09 09 ......maxwinsize.y.=.yoffset;...
13440 09 09 09 6d 61 78 77 69 6e 73 69 7a 65 2e 68 65 69 67 68 74 20 3d 20 6d 61 78 77 69 6e 68 65 69 ...maxwinsize.height.=.maxwinhei
13460 67 68 74 3b 0a 09 09 09 09 09 67 65 74 5f 69 6e 63 73 69 7a 65 28 63 2c 20 28 75 6e 73 69 67 6e ght;......get_incsize(c,.(unsign
13480 65 64 20 69 6e 74 20 2a 29 26 63 2d 3e 73 69 7a 65 2d 3e 6d 61 78 5f 77 69 64 74 68 2c 20 28 75 ed.int.*)&c->size->max_width,.(u
134a0 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 29 26 63 2d 3e 73 69 7a 65 2d 3e 6d 61 78 5f 68 65 69 67 nsigned.int.*)&c->size->max_heig
134c0 68 74 2c 20 26 6d 61 78 77 69 6e 73 69 7a 65 2c 20 50 49 58 45 4c 53 29 3b 0a 09 09 09 09 7d 0a ht,.&maxwinsize,.PIXELS);.....}.
134e0 09 09 09 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 6d 61 78 5f 77 69 64 74 68 20 3c 20 6d 61 78 ....if.(c->size->max_width.<.max
13500 77 69 6e 77 69 64 74 68 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 63 2d 3e 77 69 64 74 68 20 3d 20 winwidth).....{......c->width.=.
13520 63 2d 3e 73 69 7a 65 2d 3e 6d 61 78 5f 77 69 64 74 68 3b 0a 09 09 09 09 09 78 6f 66 66 73 65 74 c->size->max_width;......xoffset
13540 20 3d 20 28 6d 61 78 77 69 6e 77 69 64 74 68 20 2d 20 63 2d 3e 77 69 64 74 68 29 20 2f 20 32 3b .=.(maxwinwidth.-.c->width)./.2;
13560 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 6d 61 78 5f 68 65 69 67 .....}.....if.(c->size->max_heig
13580 68 74 20 3c 20 6d 61 78 77 69 6e 68 65 69 67 68 74 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 63 2d ht.<.maxwinheight).....{......c-
135a0 3e 68 65 69 67 68 74 20 3d 20 63 2d 3e 73 69 7a 65 2d 3e 6d 61 78 5f 68 65 69 67 68 74 3b 0a 09 >height.=.c->size->max_height;..
135c0 09 09 09 09 79 6f 66 66 73 65 74 20 3d 20 28 6d 61 78 77 69 6e 68 65 69 67 68 74 20 2d 20 63 2d ....yoffset.=.(maxwinheight.-.c-
135e0 3e 68 65 69 67 68 74 29 20 2f 20 32 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 09 58 4d 6f 76 >height)./.2;.....}....}....XMov
13600 65 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 63 eResizeWindow(dsply,.c->frame,.c
13620 2d 3e 78 2c 20 63 2d 3e 79 2c 20 6d 61 78 77 69 6e 77 69 64 74 68 2c 20 6d 61 78 77 69 6e 68 65 ->x,.c->y,.maxwinwidth,.maxwinhe
13640 69 67 68 74 29 3b 0a 09 09 09 58 4d 6f 76 65 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 64 73 70 6c ight);....XMoveResizeWindow(dspl
13660 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 78 6f 66 66 73 65 74 2c 20 79 6f 66 66 73 65 74 2c 20 y,.c->window,.xoffset,.yoffset,.
13680 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 68 65 69 67 68 74 29 3b 0a 09 09 09 73 65 6e 64 5f 63 6f c->width,.c->height);....send_co
136a0 6e 66 69 67 28 63 29 3b 0a 09 09 09 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 20 3d 20 nfig(c);....fullscreen_client.=.
136c0 63 3b 0a 09 09 09 73 68 6f 77 69 6e 67 5f 74 61 73 6b 62 61 72 20 3d 20 69 6e 5f 74 61 73 6b 62 c;....showing_taskbar.=.in_taskb
136e0 61 72 3b 0a 09 09 7d 0a 09 09 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 29 3b 0a 09 7d 0a 7d ar;...}...redraw_taskbar();..}.}
13700 0a 0a 2f 2a 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ../*.The.name.of.this.function.i
13720 73 20 61 20 62 69 74 20 6d 69 73 6c 65 61 64 69 6e 67 3a 20 69 66 20 74 68 65 20 63 6c 69 65 6e s.a.bit.misleading:.if.the.clien
13740 74 0a 20 2a 20 64 6f 65 73 6e 27 74 20 6c 69 73 74 65 6e 20 74 6f 20 57 4d 5f 44 45 4c 45 54 45 t..*.doesn't.listen.to.WM_DELETE
13760 20 74 68 65 6e 20 77 65 20 6a 75 73 74 20 74 65 72 6d 69 6e 61 74 65 20 69 74 20 77 69 74 68 20 .then.we.just.terminate.it.with.
13780 65 78 74 72 65 6d 65 0a 20 2a 20 70 72 65 6a 75 64 69 63 65 2e 20 2a 2f 0a 0a 76 6f 69 64 20 73 extreme..*.prejudice..*/..void.s
137a0 65 6e 64 5f 77 6d 5f 64 65 6c 65 74 65 28 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 6e 74 20 end_wm_delete(Client.*c).{..int.
137c0 69 2c 20 6e 2c 20 66 6f 75 6e 64 20 3d 20 30 3b 0a 09 41 74 6f 6d 20 2a 70 72 6f 74 6f 63 6f 6c i,.n,.found.=.0;..Atom.*protocol
137e0 73 3b 0a 0a 09 69 66 20 28 58 47 65 74 57 4d 50 72 6f 74 6f 63 6f 6c 73 28 64 73 70 6c 79 2c 20 s;...if.(XGetWMProtocols(dsply,.
13800 63 2d 3e 77 69 6e 64 6f 77 2c 20 26 70 72 6f 74 6f 63 6f 6c 73 2c 20 26 6e 29 29 0a 09 7b 0a 09 c->window,.&protocols,.&n))..{..
13820 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 0a 09 09 7b 0a 09 09 09 .for.(i.=.0;.i.<.n;.i++)...{....
13840 69 66 20 28 70 72 6f 74 6f 63 6f 6c 73 5b 69 5d 20 3d 3d 20 77 6d 5f 64 65 6c 65 74 65 29 0a 09 if.(protocols[i].==.wm_delete)..
13860 09 09 7b 0a 09 09 09 09 66 6f 75 6e 64 2b 2b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 58 46 72 65 ..{.....found++;....}...}...XFre
13880 65 28 70 72 6f 74 6f 63 6f 6c 73 29 3b 0a 09 7d 0a 09 69 66 20 28 66 6f 75 6e 64 29 0a 09 7b 0a e(protocols);..}..if.(found)..{.
138a0 09 09 73 65 6e 64 5f 78 6d 65 73 73 61 67 65 28 63 2d 3e 77 69 6e 64 6f 77 2c 20 77 6d 5f 70 72 ..send_xmessage(c->window,.wm_pr
138c0 6f 74 6f 73 2c 20 77 6d 5f 64 65 6c 65 74 65 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 otos,.wm_delete);..}..else..{...
138e0 58 4b 69 6c 6c 43 6c 69 65 6e 74 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 29 3b 0a 09 XKillClient(dsply,.c->window);..
13900 7d 0a 7d 0a 0a 76 6f 69 64 20 6d 6f 76 65 28 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 58 45 76 }.}..void.move(Client.*c).{..XEv
13920 65 6e 74 20 65 76 3b 0a 09 69 6e 74 20 6f 6c 64 5f 63 78 20 3d 20 63 2d 3e 78 3b 0a 09 69 6e 74 ent.ev;..int.old_cx.=.c->x;..int
13940 20 6f 6c 64 5f 63 79 20 3d 20 63 2d 3e 79 3b 0a 09 69 6e 74 20 6d 6f 75 73 65 78 2c 20 6d 6f 75 .old_cy.=.c->y;..int.mousex,.mou
13960 73 65 79 2c 20 64 77 2c 20 64 68 3b 0a 09 43 6c 69 65 6e 74 20 2a 65 78 70 6f 73 65 64 5f 63 3b sey,.dw,.dh;..Client.*exposed_c;
13980 0a 09 52 65 63 74 20 62 6f 75 6e 64 64 69 6d 73 3b 0a 09 57 69 6e 64 6f 77 20 63 6f 6e 73 74 72 ..Rect.bounddims;..Window.constr
139a0 61 69 6e 74 5f 77 69 6e 3b 0a 09 58 53 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 aint_win;..XSetWindowAttributes.
139c0 70 61 74 74 72 3b 0a 0a 09 64 77 20 3d 20 44 69 73 70 6c 61 79 57 69 64 74 68 28 64 73 70 6c 79 pattr;...dw.=.DisplayWidth(dsply
139e0 2c 20 73 63 72 65 65 6e 29 3b 0a 09 64 68 20 3d 20 44 69 73 70 6c 61 79 48 65 69 67 68 74 28 64 ,.screen);..dh.=.DisplayHeight(d
13a00 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b 0a 09 67 65 74 5f 6d 6f 75 73 65 5f 70 6f 73 69 74 69 sply,.screen);..get_mouse_positi
13a20 6f 6e 28 26 6d 6f 75 73 65 78 2c 20 26 6d 6f 75 73 65 79 29 3b 0a 0a 09 62 6f 75 6e 64 64 69 6d on(&mousex,.&mousey);...bounddim
13a40 73 2e 78 20 3d 20 28 6d 6f 75 73 65 78 20 2d 20 63 2d 3e 78 29 20 2d 20 42 4f 52 44 45 52 57 49 s.x.=.(mousex.-.c->x).-.BORDERWI
13a60 44 54 48 28 63 29 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 77 69 64 74 68 20 3d 20 28 64 77 20 2d DTH(c);..bounddims.width.=.(dw.-
13a80 20 62 6f 75 6e 64 64 69 6d 73 2e 78 20 2d 20 28 63 2d 3e 77 69 64 74 68 20 2d 20 62 6f 75 6e 64 .bounddims.x.-.(c->width.-.bound
13aa0 64 69 6d 73 2e 78 29 29 20 2b 20 31 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 79 20 3d 20 6d 6f 75 dims.x)).+.1;..bounddims.y.=.mou
13ac0 73 65 79 20 2d 20 63 2d 3e 79 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 20 3d 20 sey.-.c->y;..bounddims.height.=.
13ae0 28 64 68 20 2d 20 62 6f 75 6e 64 64 69 6d 73 2e 79 20 2d 20 28 63 2d 3e 68 65 69 67 68 74 20 2d (dh.-.bounddims.y.-.(c->height.-
13b00 20 62 6f 75 6e 64 64 69 6d 73 2e 79 29 29 20 2b 20 31 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 79 .bounddims.y)).+.1;..bounddims.y
13b20 20 2b 3d 20 28 42 41 52 48 45 49 47 48 54 28 29 20 2a 20 32 29 20 2d 20 42 4f 52 44 45 52 57 49 .+=.(BARHEIGHT().*.2).-.BORDERWI
13b40 44 54 48 28 63 29 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 20 2b 3d 20 63 2d 3e DTH(c);..bounddims.height.+=.c->
13b60 68 65 69 67 68 74 20 2d 20 28 28 42 41 52 48 45 49 47 48 54 28 29 20 2a 20 32 29 20 2d 20 44 45 height.-.((BARHEIGHT().*.2).-.DE
13b80 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 0a 09 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e F_BORDERWIDTH);...constraint_win
13ba0 20 3d 20 58 43 72 65 61 74 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 62 6f .=.XCreateWindow(dsply,.root,.bo
13bc0 75 6e 64 64 69 6d 73 2e 78 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 79 2c 20 62 6f 75 6e 64 64 69 6d unddims.x,.bounddims.y,.bounddim
13be0 73 2e 77 69 64 74 68 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 2c 20 30 2c 20 43 6f s.width,.bounddims.height,.0,.Co
13c00 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 49 6e 70 75 74 4f 6e 6c 79 2c 20 43 6f 70 79 46 72 6f pyFromParent,.InputOnly,.CopyFro
13c20 6d 50 61 72 65 6e 74 2c 20 30 2c 20 26 70 61 74 74 72 29 3b 0a 23 69 66 64 65 66 20 44 45 42 55 mParent,.0,.&pattr);.#ifdef.DEBU
13c40 47 0a 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 6d 6f 76 65 28 29 20 3a 20 63 6f 6e G..fprintf(stderr,."move().:.con
13c60 73 74 72 61 69 6e 74 5f 77 69 6e 20 69 73 20 28 25 64 2c 20 25 64 29 2d 28 25 64 2c 20 25 64 29 straint_win.is.(%d,.%d)-(%d,.%d)
13c80 5c 6e 22 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 78 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 79 2c 20 62 \n",.bounddims.x,.bounddims.y,.b
13ca0 6f 75 6e 64 64 69 6d 73 2e 78 20 2b 20 62 6f 75 6e 64 64 69 6d 73 2e 77 69 64 74 68 2c 20 62 6f ounddims.x.+.bounddims.width,.bo
13cc0 75 6e 64 64 69 6d 73 2e 79 20 2b 20 62 6f 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 29 3b 0a 23 unddims.y.+.bounddims.height);.#
13ce0 65 6e 64 69 66 0a 09 58 4d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 endif..XMapWindow(dsply,.constra
13d00 69 6e 74 5f 77 69 6e 29 3b 0a 0a 09 69 66 20 28 21 28 58 47 72 61 62 50 6f 69 6e 74 65 72 28 64 int_win);...if.(!(XGrabPointer(d
13d20 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 46 61 6c 73 65 2c 20 4d 6f 75 73 65 4d 61 73 6b 2c 20 47 72 sply,.root,.False,.MouseMask,.Gr
13d40 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 63 6f 6e 73 abModeAsync,.GrabModeAsync,.cons
13d60 74 72 61 69 6e 74 5f 77 69 6e 2c 20 4e 6f 6e 65 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 20 3d traint_win,.None,.CurrentTime).=
13d80 3d 20 47 72 61 62 53 75 63 63 65 73 73 29 29 0a 09 7b 0a 09 09 58 44 65 73 74 72 6f 79 57 69 6e =.GrabSuccess))..{...XDestroyWin
13da0 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 09 09 72 65 dow(dsply,.constraint_win);...re
13dc0 74 75 72 6e 3b 0a 09 7d 0a 0a 09 64 6f 0a 09 7b 0a 09 09 58 4d 61 73 6b 45 76 65 6e 74 28 64 73 turn;..}...do..{...XMaskEvent(ds
13de0 70 6c 79 2c 20 45 78 70 6f 73 75 72 65 4d 61 73 6b 7c 4d 6f 75 73 65 4d 61 73 6b 2c 20 26 65 76 ply,.ExposureMask|MouseMask,.&ev
13e00 29 3b 0a 09 09 73 77 69 74 63 68 20 28 65 76 2e 74 79 70 65 29 0a 09 09 7b 0a 09 09 09 63 61 73 );...switch.(ev.type)...{....cas
13e20 65 20 45 78 70 6f 73 65 3a 0a 09 09 09 09 65 78 70 6f 73 65 64 5f 63 20 3d 20 66 69 6e 64 5f 63 e.Expose:.....exposed_c.=.find_c
13e40 6c 69 65 6e 74 28 65 76 2e 78 65 78 70 6f 73 65 2e 77 69 6e 64 6f 77 2c 20 46 52 41 4d 45 29 3b lient(ev.xexpose.window,.FRAME);
13e60 0a 09 09 09 09 69 66 20 28 65 78 70 6f 73 65 64 5f 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 09 09 09 .....if.(exposed_c.!=.NULL).....
13e80 7b 0a 09 09 09 09 09 72 65 64 72 61 77 28 65 78 70 6f 73 65 64 5f 63 29 3b 0a 09 09 09 09 7d 0a {......redraw(exposed_c);.....}.
13ea0 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 4d 6f 74 69 6f 6e 4e 6f 74 69 66 79 3a ....break;....case.MotionNotify:
13ec0 0a 09 09 09 09 63 2d 3e 78 20 3d 20 6f 6c 64 5f 63 78 20 2b 20 28 65 76 2e 78 6d 6f 74 69 6f 6e .....c->x.=.old_cx.+.(ev.xmotion
13ee0 2e 78 20 2d 20 6d 6f 75 73 65 78 29 3b 0a 09 09 09 09 63 2d 3e 79 20 3d 20 6f 6c 64 5f 63 79 20 .x.-.mousex);.....c->y.=.old_cy.
13f00 2b 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 20 2d 20 6d 6f 75 73 65 79 29 3b 0a 09 09 09 09 58 +.(ev.xmotion.y.-.mousey);.....X
13f20 4d 6f 76 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 63 2d 3e 78 MoveWindow(dsply,.c->frame,.c->x
13f40 2c 20 63 2d 3e 79 20 2d 20 42 41 52 48 45 49 47 48 54 28 29 29 3b 0a 09 09 09 09 73 65 6e 64 5f ,.c->y.-.BARHEIGHT());.....send_
13f60 63 6f 6e 66 69 67 28 63 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 7d 0a 09 7d 0a 09 77 68 config(c);.....break;...}..}..wh
13f80 69 6c 65 20 28 65 76 2e 74 79 70 65 20 21 3d 20 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 29 3b 0a ile.(ev.type.!=.ButtonRelease);.
13fa0 0a 09 75 6e 67 72 61 62 28 29 3b 0a 09 58 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 28 64 73 70 6c ..ungrab();..XDestroyWindow(dspl
13fc0 79 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 7d 0a 0a 76 6f 69 64 20 72 65 73 69 y,.constraint_win);.}..void.resi
13fe0 7a 65 28 43 6c 69 65 6e 74 20 2a 63 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 0a 7b 0a 09 58 ze(Client.*c,.int.x,.int.y).{..X
14000 45 76 65 6e 74 20 65 76 3b 0a 09 43 6c 69 65 6e 74 20 2a 65 78 70 6f 73 65 64 5f 63 3b 0a 09 52 Event.ev;..Client.*exposed_c;..R
14020 65 63 74 20 6e 65 77 64 69 6d 73 2c 20 72 65 63 61 6c 63 65 64 64 69 6d 73 2c 20 62 6f 75 6e 64 ect.newdims,.recalceddims,.bound
14040 64 69 6d 73 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 64 72 61 67 67 69 6e 67 5f 6f 75 74 dims;..unsigned.int.dragging_out
14060 77 61 72 64 73 2c 20 64 77 2c 20 64 68 3b 0a 09 57 69 6e 64 6f 77 20 63 6f 6e 73 74 72 61 69 6e wards,.dw,.dh;..Window.constrain
14080 74 5f 77 69 6e 2c 20 72 65 73 69 7a 65 5f 77 69 6e 2c 20 72 65 73 69 7a 65 62 61 72 5f 77 69 6e t_win,.resize_win,.resizebar_win
140a0 3b 0a 09 58 53 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 70 61 74 74 72 2c 20 72 ;..XSetWindowAttributes.pattr,.r
140c0 65 73 69 7a 65 5f 70 61 74 74 72 2c 20 72 65 73 69 7a 65 62 61 72 5f 70 61 74 74 72 3b 0a 0a 09 esize_pattr,.resizebar_pattr;...
140e0 69 66 20 28 78 20 3e 20 63 2d 3e 78 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 20 26 26 if.(x.>.c->x.+.BORDERWIDTH(c).&&
14100 20 78 20 3c 20 28 63 2d 3e 78 20 2b 20 63 2d 3e 77 69 64 74 68 29 20 2d 20 42 4f 52 44 45 52 57 .x.<.(c->x.+.c->width).-.BORDERW
14120 49 44 54 48 28 63 29 20 26 26 20 79 20 3e 20 28 63 2d 3e 79 20 2d 20 42 41 52 48 45 49 47 48 54 IDTH(c).&&.y.>.(c->y.-.BARHEIGHT
14140 28 29 29 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 20 26 26 20 79 20 3c 20 28 63 2d 3e ()).+.BORDERWIDTH(c).&&.y.<.(c->
14160 79 20 2b 20 63 2d 3e 68 65 69 67 68 74 29 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 29 y.+.c->height).-.BORDERWIDTH(c))
14180 0a 09 7b 0a 09 09 2f 2f 20 69 6e 73 69 64 65 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 64 72 61 67 ..{...//.inside.the.window,.drag
141a0 67 69 6e 67 20 6f 75 74 77 61 72 64 73 0a 09 09 64 72 61 67 67 69 6e 67 5f 6f 75 74 77 61 72 64 ging.outwards...dragging_outward
141c0 73 20 3d 20 31 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 2f 2f 20 6f 75 74 73 69 64 65 20 s.=.1;..}..else..{...//.outside.
141e0 74 68 65 20 77 69 6e 64 6f 77 2c 20 64 72 61 67 67 69 6e 67 20 69 6e 77 61 72 64 73 0a 09 09 64 the.window,.dragging.inwards...d
14200 72 61 67 67 69 6e 67 5f 6f 75 74 77 61 72 64 73 20 3d 20 30 3b 0a 09 7d 0a 0a 09 64 77 20 3d 20 ragging_outwards.=.0;..}...dw.=.
14220 44 69 73 70 6c 61 79 57 69 64 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b 0a 09 64 68 DisplayWidth(dsply,.screen);..dh
14240 20 3d 20 44 69 73 70 6c 61 79 48 65 69 67 68 74 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b .=.DisplayHeight(dsply,.screen);
14260 0a 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 78 20 3d 20 30 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 77 ...bounddims.x.=.0;..bounddims.w
14280 69 64 74 68 20 3d 20 64 77 3b 0a 09 62 6f 75 6e 64 64 69 6d 73 2e 79 20 3d 20 30 3b 0a 09 62 6f idth.=.dw;..bounddims.y.=.0;..bo
142a0 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 20 3d 20 64 68 3b 0a 0a 09 63 6f 6e 73 74 72 61 69 6e unddims.height.=.dh;...constrain
142c0 74 5f 77 69 6e 20 3d 20 58 43 72 65 61 74 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 6f 6f t_win.=.XCreateWindow(dsply,.roo
142e0 74 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 78 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 79 2c 20 62 6f 75 t,.bounddims.x,.bounddims.y,.bou
14300 6e 64 64 69 6d 73 2e 77 69 64 74 68 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 68 65 69 67 68 74 2c 20 nddims.width,.bounddims.height,.
14320 30 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 49 6e 70 75 74 4f 6e 6c 79 2c 20 43 6f 0,.CopyFromParent,.InputOnly,.Co
14340 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 30 2c 20 26 70 61 74 74 72 29 3b 0a 09 58 4d 61 70 57 pyFromParent,.0,.&pattr);..XMapW
14360 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 0a 09 indow(dsply,.constraint_win);...
14380 69 66 20 28 21 28 58 47 72 61 62 50 6f 69 6e 74 65 72 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 if.(!(XGrabPointer(dsply,.root,.
143a0 46 61 6c 73 65 2c 20 4d 6f 75 73 65 4d 61 73 6b 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c False,.MouseMask,.GrabModeAsync,
143c0 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 2c 20 .GrabModeAsync,.constraint_win,.
143e0 72 65 73 69 7a 65 5f 63 75 72 73 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 20 3d 3d 20 47 72 61 resize_curs,.CurrentTime).==.Gra
14400 62 53 75 63 63 65 73 73 29 29 0a 09 7b 0a 09 09 58 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 28 64 bSuccess))..{...XDestroyWindow(d
14420 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 09 09 72 65 74 75 72 6e 3b sply,.constraint_win);...return;
14440 0a 09 7d 0a 0a 09 6e 65 77 64 69 6d 73 2e 78 20 3d 20 63 2d 3e 78 3b 0a 09 6e 65 77 64 69 6d 73 ..}...newdims.x.=.c->x;..newdims
14460 2e 79 20 3d 20 63 2d 3e 79 20 2d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 6e 65 77 64 69 6d .y.=.c->y.-.BARHEIGHT();..newdim
14480 73 2e 77 69 64 74 68 20 3d 20 63 2d 3e 77 69 64 74 68 3b 0a 09 6e 65 77 64 69 6d 73 2e 68 65 69 s.width.=.c->width;..newdims.hei
144a0 67 68 74 20 3d 20 63 2d 3e 68 65 69 67 68 74 20 2b 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 0a ght.=.c->height.+.BARHEIGHT();..
144c0 09 63 6f 70 79 5f 64 69 6d 73 28 26 6e 65 77 64 69 6d 73 2c 20 26 72 65 63 61 6c 63 65 64 64 69 .copy_dims(&newdims,.&recalceddi
144e0 6d 73 29 3b 0a 0a 09 2f 2f 20 63 72 65 61 74 65 20 61 6e 64 20 6d 61 70 20 72 65 73 69 7a 65 20 ms);...//.create.and.map.resize.
14500 77 69 6e 64 6f 77 0a 09 72 65 73 69 7a 65 5f 70 61 74 74 72 2e 6f 76 65 72 72 69 64 65 5f 72 65 window..resize_pattr.override_re
14520 64 69 72 65 63 74 20 3d 20 54 72 75 65 3b 0a 09 72 65 73 69 7a 65 5f 70 61 74 74 72 2e 62 61 63 direct.=.True;..resize_pattr.bac
14540 6b 67 72 6f 75 6e 64 5f 70 69 78 65 6c 20 3d 20 6d 65 6e 75 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a kground_pixel.=.menu_col.pixel;.
14560 09 72 65 73 69 7a 65 5f 70 61 74 74 72 2e 62 6f 72 64 65 72 5f 70 69 78 65 6c 20 3d 20 62 6f 72 .resize_pattr.border_pixel.=.bor
14580 64 65 72 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 72 65 73 69 7a 65 5f 70 61 74 74 72 2e 65 76 65 der_col.pixel;..resize_pattr.eve
145a0 6e 74 5f 6d 61 73 6b 20 3d 20 43 68 69 6c 64 4d 61 73 6b 7c 42 75 74 74 6f 6e 50 72 65 73 73 4d nt_mask.=.ChildMask|ButtonPressM
145c0 61 73 6b 7c 45 78 70 6f 73 75 72 65 4d 61 73 6b 7c 45 6e 74 65 72 57 69 6e 64 6f 77 4d 61 73 6b ask|ExposureMask|EnterWindowMask
145e0 3b 0a 09 72 65 73 69 7a 65 5f 77 69 6e 20 3d 20 58 43 72 65 61 74 65 57 69 6e 64 6f 77 28 64 73 ;..resize_win.=.XCreateWindow(ds
14600 70 6c 79 2c 20 72 6f 6f 74 2c 20 6e 65 77 64 69 6d 73 2e 78 2c 20 6e 65 77 64 69 6d 73 2e 79 2c ply,.root,.newdims.x,.newdims.y,
14620 20 6e 65 77 64 69 6d 73 2e 77 69 64 74 68 2c 20 6e 65 77 64 69 6d 73 2e 68 65 69 67 68 74 2c 20 .newdims.width,.newdims.height,.
14640 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 2c 20 44 65 66 61 75 6c 74 44 65 70 74 68 28 64 73 DEF_BORDERWIDTH,.DefaultDepth(ds
14660 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 44 65 ply,.screen),.CopyFromParent,.De
14680 66 61 75 6c 74 56 69 73 75 61 6c 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 43 57 4f 76 faultVisual(dsply,.screen),.CWOv
146a0 65 72 72 69 64 65 52 65 64 69 72 65 63 74 7c 43 57 42 61 63 6b 50 69 78 65 6c 7c 43 57 42 6f 72 errideRedirect|CWBackPixel|CWBor
146c0 64 65 72 50 69 78 65 6c 7c 43 57 45 76 65 6e 74 4d 61 73 6b 2c 20 26 72 65 73 69 7a 65 5f 70 61 derPixel|CWEventMask,.&resize_pa
146e0 74 74 72 29 3b 0a 09 58 4d 61 70 52 61 69 73 65 64 28 64 73 70 6c 79 2c 20 72 65 73 69 7a 65 5f ttr);..XMapRaised(dsply,.resize_
14700 77 69 6e 29 3b 0a 0a 09 72 65 73 69 7a 65 62 61 72 5f 70 61 74 74 72 2e 6f 76 65 72 72 69 64 65 win);...resizebar_pattr.override
14720 5f 72 65 64 69 72 65 63 74 20 3d 20 54 72 75 65 3b 0a 09 72 65 73 69 7a 65 62 61 72 5f 70 61 74 _redirect.=.True;..resizebar_pat
14740 74 72 2e 62 61 63 6b 67 72 6f 75 6e 64 5f 70 69 78 65 6c 20 3d 20 61 63 74 69 76 65 5f 63 6f 6c tr.background_pixel.=.active_col
14760 2e 70 69 78 65 6c 3b 0a 09 72 65 73 69 7a 65 62 61 72 5f 70 61 74 74 72 2e 62 6f 72 64 65 72 5f .pixel;..resizebar_pattr.border_
14780 70 69 78 65 6c 20 3d 20 62 6f 72 64 65 72 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 72 65 73 69 7a pixel.=.border_col.pixel;..resiz
147a0 65 62 61 72 5f 70 61 74 74 72 2e 65 76 65 6e 74 5f 6d 61 73 6b 20 3d 20 43 68 69 6c 64 4d 61 73 ebar_pattr.event_mask.=.ChildMas
147c0 6b 7c 42 75 74 74 6f 6e 50 72 65 73 73 4d 61 73 6b 7c 45 78 70 6f 73 75 72 65 4d 61 73 6b 7c 45 k|ButtonPressMask|ExposureMask|E
147e0 6e 74 65 72 57 69 6e 64 6f 77 4d 61 73 6b 3b 0a 09 72 65 73 69 7a 65 62 61 72 5f 77 69 6e 20 3d nterWindowMask;..resizebar_win.=
14800 20 58 43 72 65 61 74 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 65 73 69 7a 65 5f 77 69 6e .XCreateWindow(dsply,.resize_win
14820 2c 20 2d 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 2c 20 2d 44 45 46 5f 42 4f 52 44 45 52 57 ,.-DEF_BORDERWIDTH,.-DEF_BORDERW
14840 49 44 54 48 2c 20 6e 65 77 64 69 6d 73 2e 77 69 64 74 68 2c 20 42 41 52 48 45 49 47 48 54 28 29 IDTH,.newdims.width,.BARHEIGHT()
14860 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 2c 20 44 45 46 5f 42 4f 52 44 45 52 57 49 .-.DEF_BORDERWIDTH,.DEF_BORDERWI
14880 44 54 48 2c 20 44 65 66 61 75 6c 74 44 65 70 74 68 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 DTH,.DefaultDepth(dsply,.screen)
148a0 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 44 65 66 61 75 6c 74 56 69 73 75 61 6c 28 ,.CopyFromParent,.DefaultVisual(
148c0 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 43 57 4f 76 65 72 72 69 64 65 52 65 64 69 72 65 dsply,.screen),.CWOverrideRedire
148e0 63 74 7c 43 57 42 61 63 6b 50 69 78 65 6c 7c 43 57 42 6f 72 64 65 72 50 69 78 65 6c 7c 43 57 45 ct|CWBackPixel|CWBorderPixel|CWE
14900 76 65 6e 74 4d 61 73 6b 2c 20 26 72 65 73 69 7a 65 62 61 72 5f 70 61 74 74 72 29 3b 0a 09 58 4d ventMask,.&resizebar_pattr);..XM
14920 61 70 52 61 69 73 65 64 28 64 73 70 6c 79 2c 20 72 65 73 69 7a 65 62 61 72 5f 77 69 6e 29 3b 0a apRaised(dsply,.resizebar_win);.
14940 0a 23 69 66 64 65 66 20 58 46 54 0a 09 2f 2f 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 73 77 61 70 .#ifdef.XFT..//.temporarily.swap
14960 20 64 72 61 77 61 62 6c 65 73 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 64 72 61 77 20 6f 6e 20 74 .drawables.in.order.to.draw.on.t
14980 68 65 20 72 65 73 69 7a 65 20 77 69 6e 64 6f 77 27 73 20 58 46 54 20 63 6f 6e 74 65 78 74 0a 09 he.resize.window's.XFT.context..
149a0 58 66 74 44 72 61 77 43 68 61 6e 67 65 28 63 2d 3e 78 66 74 64 72 61 77 2c 20 28 44 72 61 77 61 XftDrawChange(c->xftdraw,.(Drawa
149c0 62 6c 65 29 20 72 65 73 69 7a 65 62 61 72 5f 77 69 6e 29 3b 0a 23 65 6e 64 69 66 0a 0a 09 2f 2f ble).resizebar_win);.#endif...//
149e0 20 68 69 64 65 20 72 65 61 6c 20 77 69 6e 64 6f 77 27 73 20 66 72 61 6d 65 0a 09 58 55 6e 6d 61 .hide.real.window's.frame..XUnma
14a00 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 29 3b 0a 0a 09 64 6f 0a 09 pWindow(dsply,.c->frame);...do..
14a20 7b 0a 09 09 58 4d 61 73 6b 45 76 65 6e 74 28 64 73 70 6c 79 2c 20 45 78 70 6f 73 75 72 65 4d 61 {...XMaskEvent(dsply,.ExposureMa
14a40 73 6b 7c 4d 6f 75 73 65 4d 61 73 6b 2c 20 26 65 76 29 3b 0a 09 09 73 77 69 74 63 68 20 28 65 76 sk|MouseMask,.&ev);...switch.(ev
14a60 2e 74 79 70 65 29 0a 09 09 7b 0a 09 09 09 63 61 73 65 20 45 78 70 6f 73 65 3a 0a 09 09 09 09 69 .type)...{....case.Expose:.....i
14a80 66 20 28 65 76 2e 78 65 78 70 6f 73 65 2e 77 69 6e 64 6f 77 20 3d 3d 20 72 65 73 69 7a 65 62 61 f.(ev.xexpose.window.==.resizeba
14aa0 72 5f 77 69 6e 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 77 72 69 74 65 5f 74 69 74 6c 65 74 65 78 r_win).....{......write_titletex
14ac0 74 28 63 2c 20 72 65 73 69 7a 65 62 61 72 5f 77 69 6e 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 65 t(c,.resizebar_win);.....}.....e
14ae0 6c 73 65 0a 09 09 09 09 7b 0a 09 09 09 09 09 65 78 70 6f 73 65 64 5f 63 20 3d 20 66 69 6e 64 5f lse.....{......exposed_c.=.find_
14b00 63 6c 69 65 6e 74 28 65 76 2e 78 65 78 70 6f 73 65 2e 77 69 6e 64 6f 77 2c 20 46 52 41 4d 45 29 client(ev.xexpose.window,.FRAME)
14b20 3b 0a 09 09 09 09 09 69 66 20 28 65 78 70 6f 73 65 64 5f 63 29 0a 09 09 09 09 09 7b 0a 09 09 09 ;......if.(exposed_c)......{....
14b40 09 09 09 72 65 64 72 61 77 28 65 78 70 6f 73 65 64 5f 63 29 3b 0a 09 09 09 09 09 7d 0a 09 09 09 ...redraw(exposed_c);......}....
14b60 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 4d 6f 74 69 6f 6e 4e 6f 74 69 .}.....break;....case.MotionNoti
14b80 66 79 3a 0a 09 09 09 09 7b 0a 09 09 09 09 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 6e 5f 74 fy:.....{......unsigned.int.in_t
14ba0 61 73 6b 62 61 72 20 3d 20 31 2c 20 6c 65 66 74 65 64 67 65 5f 63 68 61 6e 67 65 64 20 3d 20 30 askbar.=.1,.leftedge_changed.=.0
14bc0 2c 20 72 69 67 68 74 65 64 67 65 5f 63 68 61 6e 67 65 64 20 3d 20 30 2c 20 74 6f 70 65 64 67 65 ,.rightedge_changed.=.0,.topedge
14be0 5f 63 68 61 6e 67 65 64 20 3d 20 30 2c 20 62 6f 74 74 6f 6d 65 64 67 65 5f 63 68 61 6e 67 65 64 _changed.=.0,.bottomedge_changed
14c00 20 3d 20 30 3b 0a 09 09 09 09 09 69 6e 74 20 6e 65 77 77 69 64 74 68 2c 20 6e 65 77 68 65 69 67 .=.0;......int.newwidth,.newheig
14c20 68 74 3b 0a 09 09 09 09 09 2f 2f 20 77 61 72 70 69 6e 67 20 74 68 65 20 70 6f 69 6e 74 65 72 20 ht;......//.warping.the.pointer.
14c40 69 73 20 77 72 6f 6e 67 20 2d 20 77 61 69 74 20 75 6e 74 69 6c 20 69 74 20 6c 65 61 76 65 73 20 is.wrong.-.wait.until.it.leaves.
14c60 74 68 65 20 74 61 73 6b 62 61 72 0a 09 09 09 09 09 69 66 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e the.taskbar......if.(ev.xmotion.
14c80 79 20 3c 20 42 41 52 48 45 49 47 48 54 28 29 29 0a 09 09 09 09 09 7b 0a 09 09 09 09 09 09 69 6e y.<.BARHEIGHT())......{.......in
14ca0 5f 74 61 73 6b 62 61 72 20 3d 20 31 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 65 6c 73 65 0a 09 _taskbar.=.1;......}......else..
14cc0 09 09 09 09 7b 0a 09 09 09 09 09 09 69 66 20 28 69 6e 5f 74 61 73 6b 62 61 72 20 3d 3d 20 31 29 ....{.......if.(in_taskbar.==.1)
14ce0 20 2f 2f 20 66 69 72 73 74 20 74 69 6d 65 20 6f 75 74 73 69 64 65 20 74 61 73 6b 62 61 72 0a 09 .//.first.time.outside.taskbar..
14d00 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 69 6e 5f 74 61 73 6b 62 61 72 20 3d 20 30 3b 0a 09 09 .....{........in_taskbar.=.0;...
14d20 09 09 09 09 09 62 6f 75 6e 64 64 69 6d 73 2e 78 20 3d 20 30 3b 0a 09 09 09 09 09 09 09 62 6f 75 .....bounddims.x.=.0;........bou
14d40 6e 64 64 69 6d 73 2e 77 69 64 74 68 20 3d 20 64 77 3b 0a 09 09 09 09 09 09 09 62 6f 75 6e 64 64 nddims.width.=.dw;........boundd
14d60 69 6d 73 2e 79 20 3d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 09 09 09 09 09 09 62 6f 75 6e ims.y.=.BARHEIGHT();........boun
14d80 64 64 69 6d 73 2e 68 65 69 67 68 74 20 3d 20 64 68 20 2d 20 42 41 52 48 45 49 47 48 54 28 29 3b ddims.height.=.dh.-.BARHEIGHT();
14da0 0a 09 09 09 09 09 09 09 58 4d 6f 76 65 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c ........XMoveResizeWindow(dsply,
14dc0 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 78 2c 20 62 6f .constraint_win,.bounddims.x,.bo
14de0 75 6e 64 64 69 6d 73 2e 79 2c 20 62 6f 75 6e 64 64 69 6d 73 2e 77 69 64 74 68 2c 20 62 6f 75 6e unddims.y,.bounddims.width,.boun
14e00 64 64 69 6d 73 2e 68 65 69 67 68 74 29 3b 0a 09 09 09 09 09 09 09 69 6e 5f 74 61 73 6b 62 61 72 ddims.height);........in_taskbar
14e20 20 3d 20 30 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 2f 2f 20 69 6e 73 69 64 65 20 74 68 .=.0;.......}.......//.inside.th
14e40 65 20 77 69 6e 64 6f 77 2c 20 64 72 61 67 67 69 6e 67 20 6f 75 74 77 61 72 64 73 0a 09 09 09 09 e.window,.dragging.outwards.....
14e60 09 09 69 66 20 28 64 72 61 67 67 69 6e 67 5f 6f 75 74 77 61 72 64 73 29 0a 09 09 09 09 09 09 7b ..if.(dragging_outwards).......{
14e80 0a 09 09 09 09 09 09 09 69 66 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 78 20 3c 20 6e 65 77 64 69 ........if.(ev.xmotion.x.<.newdi
14ea0 6d 73 2e 78 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 29 0a 09 09 09 09 09 09 09 7b 0a ms.x.+.BORDERWIDTH(c))........{.
14ec0 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d 73 2e 77 69 64 74 68 20 2b 3d 20 6e 65 77 64 69 6d 73 ........newdims.width.+=.newdims
14ee0 2e 78 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 20 2d 20 65 76 2e 78 6d 6f 74 69 6f 6e .x.+.BORDERWIDTH(c).-.ev.xmotion
14f00 2e 78 3b 0a 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d 73 2e 78 20 3d 20 65 76 2e 78 6d 6f 74 69 .x;.........newdims.x.=.ev.xmoti
14f20 6f 6e 2e 78 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 09 09 09 09 09 6c on.x.-.BORDERWIDTH(c);.........l
14f40 65 66 74 65 64 67 65 5f 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 eftedge_changed.=.1;........}...
14f60 09 09 09 09 09 65 6c 73 65 20 69 66 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 78 20 3e 20 6e 65 77 .....else.if.(ev.xmotion.x.>.new
14f80 64 69 6d 73 2e 78 20 2b 20 6e 65 77 64 69 6d 73 2e 77 69 64 74 68 20 2b 20 42 4f 52 44 45 52 57 dims.x.+.newdims.width.+.BORDERW
14fa0 49 44 54 48 28 63 29 29 0a 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d IDTH(c))........{.........newdim
14fc0 73 2e 77 69 64 74 68 20 3d 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 78 20 2d 20 6e 65 77 64 69 6d s.width.=.(ev.xmotion.x.-.newdim
14fe0 73 2e 78 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 29 20 2b 20 31 3b 20 2f 2f 20 61 64 s.x.-.BORDERWIDTH(c)).+.1;.//.ad
15000 64 20 31 20 74 6f 20 61 6c 6c 6f 77 20 77 69 6e 64 6f 77 20 74 6f 20 62 65 20 66 6c 75 73 68 20 d.1.to.allow.window.to.be.flush.
15020 77 69 74 68 20 65 64 67 65 20 6f 66 20 73 63 72 65 65 6e 0a 09 09 09 09 09 09 09 09 72 69 67 68 with.edge.of.screen.........righ
15040 74 65 64 67 65 5f 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 tedge_changed.=.1;........}.....
15060 09 09 09 69 66 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 20 3c 20 6e 65 77 64 69 6d 73 2e 79 20 ...if.(ev.xmotion.y.<.newdims.y.
15080 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 29 0a 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 +.BORDERWIDTH(c))........{......
150a0 09 09 09 6e 65 77 64 69 6d 73 2e 68 65 69 67 68 74 20 2b 3d 20 6e 65 77 64 69 6d 73 2e 79 20 2b ...newdims.height.+=.newdims.y.+
150c0 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 20 2d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 3b 0a .BORDERWIDTH(c).-.ev.xmotion.y;.
150e0 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d 73 2e 79 20 3d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 ........newdims.y.=.ev.xmotion.y
15100 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 09 09 09 09 09 74 6f 70 65 64 .-.BORDERWIDTH(c);.........toped
15120 67 65 5f 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 ge_changed.=.1;........}........
15140 65 6c 73 65 20 69 66 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 20 3e 20 6e 65 77 64 69 6d 73 2e else.if.(ev.xmotion.y.>.newdims.
15160 79 20 2b 20 6e 65 77 64 69 6d 73 2e 68 65 69 67 68 74 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 y.+.newdims.height.+.BORDERWIDTH
15180 28 63 29 29 0a 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d 73 2e 68 65 (c))........{.........newdims.he
151a0 69 67 68 74 20 3d 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 20 2d 20 6e 65 77 64 69 6d 73 2e 79 ight.=.(ev.xmotion.y.-.newdims.y
151c0 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 29 20 2b 20 31 3b 20 2f 2f 20 61 64 64 20 31 .-.BORDERWIDTH(c)).+.1;.//.add.1
151e0 20 74 6f 20 61 6c 6c 6f 77 20 77 69 6e 64 6f 77 20 74 6f 20 62 65 20 66 6c 75 73 68 20 77 69 74 .to.allow.window.to.be.flush.wit
15200 68 20 65 64 67 65 20 6f 66 20 73 63 72 65 65 6e 0a 09 09 09 09 09 09 09 09 62 6f 74 74 6f 6d 65 h.edge.of.screen.........bottome
15220 64 67 65 5f 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 dge_changed.=.1;........}.......
15240 7d 0a 09 09 09 09 09 09 2f 2f 20 6f 75 74 73 69 64 65 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 64 }.......//.outside.the.window,.d
15260 72 61 67 67 69 6e 67 20 69 6e 77 61 72 64 73 0a 09 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 ragging.inwards.......else......
15280 09 7b 0a 09 09 09 09 09 09 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 61 62 6f 76 65 5f 77 69 6e .{........unsigned.int.above_win
152a0 2c 20 62 65 6c 6f 77 5f 77 69 6e 2c 20 6c 65 66 74 6f 66 5f 77 69 6e 2c 20 72 69 67 68 74 6f 66 ,.below_win,.leftof_win,.rightof
152c0 5f 77 69 6e 3b 0a 09 09 09 09 09 09 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 6e 5f 77 69 6e _win;........unsigned.int.in_win
152e0 3b 0a 0a 09 09 09 09 09 09 09 61 62 6f 76 65 5f 77 69 6e 20 3d 20 28 65 76 2e 78 6d 6f 74 69 6f ;.........above_win.=.(ev.xmotio
15300 6e 2e 79 20 3c 20 6e 65 77 64 69 6d 73 2e 79 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 n.y.<.newdims.y.+.BORDERWIDTH(c)
15320 29 3b 0a 09 09 09 09 09 09 09 62 65 6c 6f 77 5f 77 69 6e 20 3d 20 28 65 76 2e 78 6d 6f 74 69 6f );........below_win.=.(ev.xmotio
15340 6e 2e 79 20 3e 20 6e 65 77 64 69 6d 73 2e 79 20 2b 20 6e 65 77 64 69 6d 73 2e 68 65 69 67 68 74 n.y.>.newdims.y.+.newdims.height
15360 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 29 3b 0a 09 09 09 09 09 09 09 6c 65 66 74 6f .+.BORDERWIDTH(c));........lefto
15380 66 5f 77 69 6e 20 3d 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 78 20 3c 20 6e 65 77 64 69 6d 73 2e f_win.=.(ev.xmotion.x.<.newdims.
153a0 78 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 29 3b 0a 09 09 09 09 09 09 09 72 69 67 68 x.+.BORDERWIDTH(c));........righ
153c0 74 6f 66 5f 77 69 6e 20 3d 20 28 65 76 2e 78 6d 6f 74 69 6f 6e 2e 78 20 3e 20 6e 65 77 64 69 6d tof_win.=.(ev.xmotion.x.>.newdim
153e0 73 2e 78 20 2b 20 6e 65 77 64 69 6d 73 2e 77 69 64 74 68 20 2b 20 42 4f 52 44 45 52 57 49 44 54 s.x.+.newdims.width.+.BORDERWIDT
15400 48 28 63 29 29 3b 0a 0a 09 09 09 09 09 09 09 69 6e 5f 77 69 6e 20 3d 20 28 28 21 61 62 6f 76 65 H(c));.........in_win.=.((!above
15420 5f 77 69 6e 29 20 26 26 20 28 21 62 65 6c 6f 77 5f 77 69 6e 29 20 26 26 20 28 21 6c 65 66 74 6f _win).&&.(!below_win).&&.(!lefto
15440 66 5f 77 69 6e 29 20 26 26 20 28 21 72 69 67 68 74 6f 66 5f 77 69 6e 29 29 3b 0a 0a 09 09 09 09 f_win).&&.(!rightof_win));......
15460 09 09 09 69 66 20 28 69 6e 5f 77 69 6e 29 0a 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 09 ...if.(in_win)........{.........
15480 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 66 72 6f 6d 5f 6c 65 66 74 2c 20 66 72 6f 6d 5f 72 69 67 unsigned.int.from_left,.from_rig
154a0 68 74 2c 20 66 72 6f 6d 5f 74 6f 70 2c 20 66 72 6f 6d 5f 62 6f 74 74 6f 6d 3b 0a 09 09 09 09 09 ht,.from_top,.from_bottom;......
154c0 09 09 09 66 72 6f 6d 5f 6c 65 66 74 20 3d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e 78 20 2d 20 6e 65 ...from_left.=.ev.xmotion.x.-.ne
154e0 77 64 69 6d 73 2e 78 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 09 09 09 wdims.x.-.BORDERWIDTH(c);.......
15500 09 09 66 72 6f 6d 5f 72 69 67 68 74 20 3d 20 6e 65 77 64 69 6d 73 2e 78 20 2b 20 6e 65 77 64 69 ..from_right.=.newdims.x.+.newdi
15520 6d 73 2e 77 69 64 74 68 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 20 2d 20 65 76 2e 78 ms.width.+.BORDERWIDTH(c).-.ev.x
15540 6d 6f 74 69 6f 6e 2e 78 3b 0a 09 09 09 09 09 09 09 09 66 72 6f 6d 5f 74 6f 70 20 3d 20 65 76 2e motion.x;.........from_top.=.ev.
15560 78 6d 6f 74 69 6f 6e 2e 79 20 2d 20 6e 65 77 64 69 6d 73 2e 79 20 2d 20 42 4f 52 44 45 52 57 49 xmotion.y.-.newdims.y.-.BORDERWI
15580 44 54 48 28 63 29 3b 0a 09 09 09 09 09 09 09 09 66 72 6f 6d 5f 62 6f 74 74 6f 6d 20 3d 20 6e 65 DTH(c);.........from_bottom.=.ne
155a0 77 64 69 6d 73 2e 79 20 2b 20 6e 65 77 64 69 6d 73 2e 68 65 69 67 68 74 20 2b 20 42 4f 52 44 45 wdims.y.+.newdims.height.+.BORDE
155c0 52 57 49 44 54 48 28 63 29 20 2d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 3b 0a 09 09 09 09 09 09 RWIDTH(c).-.ev.xmotion.y;.......
155e0 09 09 69 66 20 28 66 72 6f 6d 5f 6c 65 66 74 20 3c 20 66 72 6f 6d 5f 72 69 67 68 74 20 26 26 20 ..if.(from_left.<.from_right.&&.
15600 66 72 6f 6d 5f 6c 65 66 74 20 3c 20 66 72 6f 6d 5f 74 6f 70 20 26 26 20 66 72 6f 6d 5f 6c 65 66 from_left.<.from_top.&&.from_lef
15620 74 20 3c 20 66 72 6f 6d 5f 62 6f 74 74 6f 6d 29 0a 09 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 t.<.from_bottom).........{......
15640 09 09 09 09 6e 65 77 64 69 6d 73 2e 77 69 64 74 68 20 2d 3d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e ....newdims.width.-=.ev.xmotion.
15660 78 20 2d 20 6e 65 77 64 69 6d 73 2e 78 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a x.-.newdims.x.-.BORDERWIDTH(c);.
15680 09 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d 73 2e 78 20 3d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e .........newdims.x.=.ev.xmotion.
156a0 78 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 09 09 09 09 09 09 6c 65 66 x.-.BORDERWIDTH(c);..........lef
156c0 74 65 64 67 65 5f 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 tedge_changed.=.1;.........}....
156e0 09 09 09 09 09 65 6c 73 65 20 69 66 20 28 66 72 6f 6d 5f 72 69 67 68 74 20 3c 20 66 72 6f 6d 5f .....else.if.(from_right.<.from_
15700 74 6f 70 20 26 26 20 66 72 6f 6d 5f 72 69 67 68 74 20 3c 20 66 72 6f 6d 5f 62 6f 74 74 6f 6d 29 top.&&.from_right.<.from_bottom)
15720 0a 09 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d 73 2e 77 69 64 74 .........{..........newdims.widt
15740 68 20 3d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e 78 20 2d 20 6e 65 77 64 69 6d 73 2e 78 20 2d 20 42 h.=.ev.xmotion.x.-.newdims.x.-.B
15760 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 09 09 09 09 09 09 72 69 67 68 74 65 64 67 ORDERWIDTH(c);..........rightedg
15780 65 5f 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 e_changed.=.1;.........}........
157a0 09 65 6c 73 65 20 69 66 20 28 66 72 6f 6d 5f 74 6f 70 20 3c 20 66 72 6f 6d 5f 62 6f 74 74 6f 6d .else.if.(from_top.<.from_bottom
157c0 29 0a 09 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d 73 2e 68 65 69 ).........{..........newdims.hei
157e0 67 68 74 20 2d 3d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 20 2d 20 6e 65 77 64 69 6d 73 2e 79 20 ght.-=.ev.xmotion.y.-.newdims.y.
15800 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 09 09 09 09 09 09 6e 65 77 64 69 -.BORDERWIDTH(c);..........newdi
15820 6d 73 2e 79 20 3d 20 65 76 2e 78 6d 6f 74 69 6f 6e 2e 79 20 2d 20 42 4f 52 44 45 52 57 49 44 54 ms.y.=.ev.xmotion.y.-.BORDERWIDT
15840 48 28 63 29 3b 0a 09 09 09 09 09 09 09 09 09 74 6f 70 65 64 67 65 5f 63 68 61 6e 67 65 64 20 3d H(c);..........topedge_changed.=
15860 20 31 3b 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 .1;.........}.........else......
15880 09 09 09 7b 0a 09 09 09 09 09 09 09 09 09 6e 65 77 64 69 6d 73 2e 68 65 69 67 68 74 20 3d 20 65 ...{..........newdims.height.=.e
158a0 76 2e 78 6d 6f 74 69 6f 6e 2e 79 20 2d 20 6e 65 77 64 69 6d 73 2e 79 20 2d 20 42 4f 52 44 45 52 v.xmotion.y.-.newdims.y.-.BORDER
158c0 57 49 44 54 48 28 63 29 3b 0a 09 09 09 09 09 09 09 09 09 62 6f 74 74 6f 6d 65 64 67 65 5f 63 68 WIDTH(c);..........bottomedge_ch
158e0 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 7d 0a 09 09 anged.=.1;.........}........}...
15900 09 09 09 09 7d 0a 09 09 09 09 09 09 2f 2f 20 63 6f 6f 72 64 73 20 68 61 76 65 20 63 68 61 6e 67 ....}.......//.coords.have.chang
15920 65 64 0a 09 09 09 09 09 09 69 66 20 28 6c 65 66 74 65 64 67 65 5f 63 68 61 6e 67 65 64 20 7c 7c ed.......if.(leftedge_changed.||
15940 20 72 69 67 68 74 65 64 67 65 5f 63 68 61 6e 67 65 64 20 7c 7c 20 74 6f 70 65 64 67 65 5f 63 68 .rightedge_changed.||.topedge_ch
15960 61 6e 67 65 64 20 7c 7c 20 62 6f 74 74 6f 6d 65 64 67 65 5f 63 68 61 6e 67 65 64 29 0a 09 09 09 anged.||.bottomedge_changed)....
15980 09 09 09 7b 0a 09 09 09 09 09 09 09 63 6f 70 79 5f 64 69 6d 73 28 26 6e 65 77 64 69 6d 73 2c 20 ...{........copy_dims(&newdims,.
159a0 26 72 65 63 61 6c 63 65 64 64 69 6d 73 29 3b 0a 09 09 09 09 09 09 09 72 65 63 61 6c 63 65 64 64 &recalceddims);........recalcedd
159c0 69 6d 73 2e 68 65 69 67 68 74 20 2d 3d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 0a 09 09 09 09 ims.height.-=.BARHEIGHT();......
159e0 09 09 09 69 66 20 28 67 65 74 5f 69 6e 63 73 69 7a 65 28 63 2c 20 28 75 6e 73 69 67 6e 65 64 20 ...if.(get_incsize(c,.(unsigned.
15a00 69 6e 74 20 2a 29 26 6e 65 77 77 69 64 74 68 2c 20 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a int.*)&newwidth,.(unsigned.int.*
15a20 29 26 6e 65 77 68 65 69 67 68 74 2c 20 26 72 65 63 61 6c 63 65 64 64 69 6d 73 2c 20 50 49 58 45 )&newheight,.&recalceddims,.PIXE
15a40 4c 53 29 29 0a 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 09 69 66 20 28 6c 65 66 74 65 64 LS))........{.........if.(lefted
15a60 67 65 5f 63 68 61 6e 67 65 64 29 0a 09 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 09 09 72 ge_changed).........{..........r
15a80 65 63 61 6c 63 65 64 64 69 6d 73 2e 78 20 3d 20 28 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 78 20 ecalceddims.x.=.(recalceddims.x.
15aa0 2b 20 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 77 69 64 74 68 29 20 2d 20 6e 65 77 77 69 64 74 68 +.recalceddims.width).-.newwidth
15ac0 3b 0a 09 09 09 09 09 09 09 09 09 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 77 69 64 74 68 20 3d 20 ;..........recalceddims.width.=.
15ae0 6e 65 77 77 69 64 74 68 3b 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 09 65 6c 73 65 newwidth;.........}.........else
15b00 20 69 66 20 28 72 69 67 68 74 65 64 67 65 5f 63 68 61 6e 67 65 64 29 0a 09 09 09 09 09 09 09 09 .if.(rightedge_changed).........
15b20 7b 0a 09 09 09 09 09 09 09 09 09 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 77 69 64 74 68 20 3d 20 {..........recalceddims.width.=.
15b40 6e 65 77 77 69 64 74 68 3b 0a 09 09 09 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 09 09 09 69 66 20 newwidth;.........}..........if.
15b60 28 74 6f 70 65 64 67 65 5f 63 68 61 6e 67 65 64 29 0a 09 09 09 09 09 09 09 09 7b 0a 09 09 09 09 (topedge_changed).........{.....
15b80 09 09 09 09 09 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 79 20 3d 20 28 72 65 63 61 6c 63 65 64 64 .....recalceddims.y.=.(recalcedd
15ba0 69 6d 73 2e 79 20 2b 20 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 68 65 69 67 68 74 29 20 2d 20 6e ims.y.+.recalceddims.height).-.n
15bc0 65 77 68 65 69 67 68 74 3b 0a 09 09 09 09 09 09 09 09 09 72 65 63 61 6c 63 65 64 64 69 6d 73 2e ewheight;..........recalceddims.
15be0 68 65 69 67 68 74 20 3d 20 6e 65 77 68 65 69 67 68 74 3b 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 height.=.newheight;.........}...
15c00 09 09 09 09 09 09 65 6c 73 65 20 69 66 20 28 62 6f 74 74 6f 6d 65 64 67 65 5f 63 68 61 6e 67 65 ......else.if.(bottomedge_change
15c20 64 29 0a 09 09 09 09 09 09 09 09 7b 0a 09 09 09 09 09 09 09 09 09 72 65 63 61 6c 63 65 64 64 69 d).........{..........recalceddi
15c40 6d 73 2e 68 65 69 67 68 74 20 3d 20 6e 65 77 68 65 69 67 68 74 3b 0a 09 09 09 09 09 09 09 09 7d ms.height.=.newheight;.........}
15c60 0a 09 09 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 09 09 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 68 ........}.........recalceddims.h
15c80 65 69 67 68 74 20 2b 3d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 09 09 09 09 09 09 6c 69 6d eight.+=.BARHEIGHT();........lim
15ca0 69 74 5f 73 69 7a 65 28 63 2c 20 26 72 65 63 61 6c 63 65 64 64 69 6d 73 29 3b 0a 0a 09 09 09 09 it_size(c,.&recalceddims);......
15cc0 09 09 09 58 4d 6f 76 65 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 65 73 69 ...XMoveResizeWindow(dsply,.resi
15ce0 7a 65 5f 77 69 6e 2c 20 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 78 2c 20 72 65 63 61 6c 63 65 64 ze_win,.recalceddims.x,.recalced
15d00 64 69 6d 73 2e 79 2c 20 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 77 69 64 74 68 2c 20 72 65 63 61 dims.y,.recalceddims.width,.reca
15d20 6c 63 65 64 64 69 6d 73 2e 68 65 69 67 68 74 29 3b 0a 09 09 09 09 09 09 09 58 52 65 73 69 7a 65 lceddims.height);........XResize
15d40 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 65 73 69 7a 65 62 61 72 5f 77 69 6e 2c 20 72 65 63 Window(dsply,.resizebar_win,.rec
15d60 61 6c 63 65 64 64 69 6d 73 2e 77 69 64 74 68 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 alceddims.width,.BARHEIGHT().-.D
15d80 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 0a EF_BORDERWIDTH);.......}......}.
15da0 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 7d 0a 09 7d 0a 09 77 68 69 6c 65 20 28 ....}.....break;...}..}..while.(
15dc0 65 76 2e 74 79 70 65 20 21 3d 20 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 29 3b 0a 0a 09 58 55 6e ev.type.!=.ButtonRelease);...XUn
15de0 67 72 61 62 53 65 72 76 65 72 28 64 73 70 6c 79 29 3b 0a 09 75 6e 67 72 61 62 28 29 3b 0a 09 63 grabServer(dsply);..ungrab();..c
15e00 2d 3e 78 20 3d 20 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 78 3b 0a 09 63 2d 3e 79 20 3d 20 72 65 ->x.=.recalceddims.x;..c->y.=.re
15e20 63 61 6c 63 65 64 64 69 6d 73 2e 79 20 2b 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 63 2d 3e calceddims.y.+.BARHEIGHT();..c->
15e40 77 69 64 74 68 20 3d 20 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 77 69 64 74 68 3b 0a 09 63 2d 3e width.=.recalceddims.width;..c->
15e60 68 65 69 67 68 74 20 3d 20 72 65 63 61 6c 63 65 64 64 69 6d 73 2e 68 65 69 67 68 74 20 2d 20 42 height.=.recalceddims.height.-.B
15e80 41 52 48 45 49 47 48 54 28 29 3b 0a 0a 09 58 4d 6f 76 65 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 ARHEIGHT();...XMoveResizeWindow(
15ea0 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 63 2d 3e 78 2c 20 63 2d 3e 79 20 2d 20 42 41 dsply,.c->frame,.c->x,.c->y.-.BA
15ec0 52 48 45 49 47 48 54 28 29 2c 20 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 68 65 69 67 68 74 20 2b RHEIGHT(),.c->width,.c->height.+
15ee0 20 42 41 52 48 45 49 47 48 54 28 29 29 3b 0a 09 58 52 65 73 69 7a 65 57 69 6e 64 6f 77 28 64 73 .BARHEIGHT());..XResizeWindow(ds
15f00 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 63 2d 3e 77 69 64 74 68 2c 20 63 2d 3e 68 65 69 ply,.c->window,.c->width,.c->hei
15f20 67 68 74 29 3b 0a 0a 09 2f 2f 20 75 6e 68 69 64 65 20 72 65 61 6c 20 77 69 6e 64 6f 77 27 73 20 ght);...//.unhide.real.window's.
15f40 66 72 61 6d 65 0a 09 58 4d 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d frame..XMapWindow(dsply,.c->fram
15f60 65 29 3b 0a 0a 09 58 53 65 74 49 6e 70 75 74 46 6f 63 75 73 28 64 73 70 6c 79 2c 20 63 2d 3e 77 e);...XSetInputFocus(dsply,.c->w
15f80 69 6e 64 6f 77 2c 20 52 65 76 65 72 74 54 6f 4e 6f 6e 65 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 indow,.RevertToNone,.CurrentTime
15fa0 29 3b 0a 0a 09 73 65 6e 64 5f 63 6f 6e 66 69 67 28 63 29 3b 0a 09 58 44 65 73 74 72 6f 79 57 69 );...send_config(c);..XDestroyWi
15fc0 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 6f 6e 73 74 72 61 69 6e 74 5f 77 69 6e 29 3b 0a 0a 23 69 ndow(dsply,.constraint_win);..#i
15fe0 66 64 65 66 20 58 46 54 0a 09 2f 2f 20 72 65 73 65 74 20 74 68 65 20 64 72 61 77 61 62 6c 65 0a fdef.XFT..//.reset.the.drawable.
16000 09 58 66 74 44 72 61 77 43 68 61 6e 67 65 28 63 2d 3e 78 66 74 64 72 61 77 2c 20 28 44 72 61 77 .XftDrawChange(c->xftdraw,.(Draw
16020 61 62 6c 65 29 20 63 2d 3e 66 72 61 6d 65 29 3b 0a 23 65 6e 64 69 66 0a 09 0a 09 58 44 65 73 74 able).c->frame);.#endif....XDest
16040 72 6f 79 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 65 73 69 7a 65 62 61 72 5f 77 69 6e 29 3b royWindow(dsply,.resizebar_win);
16060 0a 09 58 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 72 65 73 69 7a 65 5f 77 ..XDestroyWindow(dsply,.resize_w
16080 69 6e 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6d 69 74 5f 73 69 7a 65 28 43 in);.}..static.void.limit_size(C
160a0 6c 69 65 6e 74 20 2a 63 2c 20 52 65 63 74 20 2a 6e 65 77 64 69 6d 73 29 0a 7b 0a 09 69 6e 74 20 lient.*c,.Rect.*newdims).{..int.
160c0 64 77 2c 20 64 68 3b 0a 09 64 77 20 3d 20 44 69 73 70 6c 61 79 57 69 64 74 68 28 64 73 70 6c 79 dw,.dh;..dw.=.DisplayWidth(dsply
160e0 2c 20 73 63 72 65 65 6e 29 3b 0a 09 64 68 20 3d 20 44 69 73 70 6c 61 79 48 65 69 67 68 74 28 64 ,.screen);..dh.=.DisplayHeight(d
16100 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b 0a 0a 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 66 6c sply,.screen);...if.(c->size->fl
16120 61 67 73 20 26 20 50 4d 69 6e 53 69 7a 65 29 0a 09 7b 0a 09 09 69 66 20 28 6e 65 77 64 69 6d 73 ags.&.PMinSize)..{...if.(newdims
16140 2d 3e 77 69 64 74 68 20 3c 20 63 2d 3e 73 69 7a 65 2d 3e 6d 69 6e 5f 77 69 64 74 68 29 0a 09 09 ->width.<.c->size->min_width)...
16160 7b 0a 09 09 09 6e 65 77 64 69 6d 73 2d 3e 77 69 64 74 68 20 3d 20 63 2d 3e 73 69 7a 65 2d 3e 6d {....newdims->width.=.c->size->m
16180 69 6e 5f 77 69 64 74 68 3b 0a 09 09 7d 0a 09 09 69 66 20 28 6e 65 77 64 69 6d 73 2d 3e 68 65 69 in_width;...}...if.(newdims->hei
161a0 67 68 74 20 3c 20 63 2d 3e 73 69 7a 65 2d 3e 6d 69 6e 5f 68 65 69 67 68 74 29 0a 09 09 7b 0a 09 ght.<.c->size->min_height)...{..
161c0 09 09 6e 65 77 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 3d 20 63 2d 3e 73 69 7a 65 2d 3e 6d 69 6e ..newdims->height.=.c->size->min
161e0 5f 68 65 69 67 68 74 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 66 _height;...}..}...if.(c->size->f
16200 6c 61 67 73 20 26 20 50 4d 61 78 53 69 7a 65 29 0a 09 7b 0a 09 09 69 66 20 28 6e 65 77 64 69 6d lags.&.PMaxSize)..{...if.(newdim
16220 73 2d 3e 77 69 64 74 68 20 3e 20 63 2d 3e 73 69 7a 65 2d 3e 6d 61 78 5f 77 69 64 74 68 29 0a 09 s->width.>.c->size->max_width)..
16240 09 7b 0a 09 09 09 6e 65 77 64 69 6d 73 2d 3e 77 69 64 74 68 20 3d 20 63 2d 3e 73 69 7a 65 2d 3e .{....newdims->width.=.c->size->
16260 6d 61 78 5f 77 69 64 74 68 3b 0a 09 09 7d 0a 09 09 69 66 20 28 6e 65 77 64 69 6d 73 2d 3e 68 65 max_width;...}...if.(newdims->he
16280 69 67 68 74 20 3e 20 63 2d 3e 73 69 7a 65 2d 3e 6d 61 78 5f 68 65 69 67 68 74 29 0a 09 09 7b 0a ight.>.c->size->max_height)...{.
162a0 09 09 09 6e 65 77 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 3d 20 63 2d 3e 73 69 7a 65 2d 3e 6d 61 ...newdims->height.=.c->size->ma
162c0 78 5f 68 65 69 67 68 74 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 69 66 20 28 6e 65 77 64 69 6d 73 2d 3e x_height;...}..}...if.(newdims->
162e0 77 69 64 74 68 20 3c 20 4d 49 4e 57 49 4e 57 49 44 54 48 29 0a 09 7b 0a 09 09 6e 65 77 64 69 6d width.<.MINWINWIDTH)..{...newdim
16300 73 2d 3e 77 69 64 74 68 20 3d 20 4d 49 4e 57 49 4e 57 49 44 54 48 3b 0a 09 7d 0a 09 69 66 20 28 s->width.=.MINWINWIDTH;..}..if.(
16320 6e 65 77 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 3c 20 4d 49 4e 57 49 4e 48 45 49 47 48 54 29 0a newdims->height.<.MINWINHEIGHT).
16340 09 7b 0a 09 09 6e 65 77 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 3d 20 4d 49 4e 57 49 4e 48 45 49 .{...newdims->height.=.MINWINHEI
16360 47 48 54 3b 0a 09 7d 0a 0a 09 69 66 20 28 6e 65 77 64 69 6d 73 2d 3e 77 69 64 74 68 20 3e 20 64 GHT;..}...if.(newdims->width.>.d
16380 77 29 0a 09 7b 0a 09 09 6e 65 77 64 69 6d 73 2d 3e 77 69 64 74 68 20 3d 20 64 77 3b 0a 09 7d 0a w)..{...newdims->width.=.dw;..}.
163a0 09 69 66 20 28 6e 65 77 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 3e 20 28 64 68 20 2d 20 42 41 52 .if.(newdims->height.>.(dh.-.BAR
163c0 48 45 49 47 48 54 28 29 29 29 0a 09 7b 0a 09 09 6e 65 77 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 HEIGHT()))..{...newdims->height.
163e0 3d 20 28 64 68 20 2d 20 42 41 52 48 45 49 47 48 54 28 29 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2a 20 49 =.(dh.-.BARHEIGHT());..}.}../*.I
16400 66 20 74 68 65 20 77 69 6e 64 6f 77 20 69 6e 20 71 75 65 73 74 69 6f 6e 20 68 61 73 20 61 20 52 f.the.window.in.question.has.a.R
16420 65 73 69 7a 65 49 6e 63 20 69 6e 74 2c 20 74 68 65 6e 20 69 74 20 77 61 6e 74 73 20 74 6f 20 62 esizeInc.int,.then.it.wants.to.b
16440 65 0a 20 2a 20 72 65 73 69 7a 65 64 20 69 6e 20 6d 75 6c 74 69 70 6c 65 73 20 6f 66 20 73 6f 6d e..*.resized.in.multiples.of.som
16460 65 20 28 78 2c 79 29 2e 20 48 65 72 65 20 77 65 20 73 65 74 20 78 5f 72 65 74 20 61 6e 64 20 79 e.(x,y)..Here.we.set.x_ret.and.y
16480 5f 72 65 74 20 74 6f 0a 20 2a 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 75 6c 74 69 70 6c _ret.to..*.the.number.of.multipl
164a0 65 73 20 28 69 66 20 6d 6f 64 65 20 3d 3d 20 49 4e 43 52 45 4d 45 4e 54 53 29 20 6f 72 20 74 68 es.(if.mode.==.INCREMENTS).or.th
164c0 65 20 63 6f 72 72 65 63 74 20 73 69 7a 65 0a 20 2a 20 69 6e 20 70 69 78 65 6c 73 20 66 6f 72 20 e.correct.size..*.in.pixels.for.
164e0 73 61 69 64 20 6d 75 6c 74 69 70 6c 65 73 20 28 69 66 20 6d 6f 64 65 20 3d 3d 20 50 49 58 45 4c said.multiples.(if.mode.==.PIXEL
16500 53 29 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 67 65 74 5f 69 6e 63 73 69 7a 65 28 43 S)..*/..static.int.get_incsize(C
16520 6c 69 65 6e 74 20 2a 63 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 78 5f 72 65 74 2c 20 75 lient.*c,.unsigned.int.*x_ret,.u
16540 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 79 5f 72 65 74 2c 20 52 65 63 74 20 2a 6e 65 77 64 69 6d nsigned.int.*y_ret,.Rect.*newdim
16560 73 2c 20 69 6e 74 20 6d 6f 64 65 29 0a 7b 0a 09 69 6e 74 20 62 61 73 65 78 2c 20 62 61 73 65 79 s,.int.mode).{..int.basex,.basey
16580 3b 0a 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 66 6c 61 67 73 20 26 20 50 52 65 73 69 7a 65 49 ;..if.(c->size->flags.&.PResizeI
165a0 6e 63 29 0a 09 7b 0a 09 09 62 61 73 65 78 20 3d 20 28 63 2d 3e 73 69 7a 65 2d 3e 66 6c 61 67 73 nc)..{...basex.=.(c->size->flags
165c0 20 26 20 50 42 61 73 65 53 69 7a 65 29 20 3f 20 63 2d 3e 73 69 7a 65 2d 3e 62 61 73 65 5f 77 69 .&.PBaseSize).?.c->size->base_wi
165e0 64 74 68 20 3a 20 28 63 2d 3e 73 69 7a 65 2d 3e 66 6c 61 67 73 20 26 20 50 4d 69 6e 53 69 7a 65 dth.:.(c->size->flags.&.PMinSize
16600 29 20 3f 20 63 2d 3e 73 69 7a 65 2d 3e 6d 69 6e 5f 77 69 64 74 68 20 3a 20 30 3b 0a 09 09 62 61 ).?.c->size->min_width.:.0;...ba
16620 73 65 79 20 3d 20 28 63 2d 3e 73 69 7a 65 2d 3e 66 6c 61 67 73 20 26 20 50 42 61 73 65 53 69 7a sey.=.(c->size->flags.&.PBaseSiz
16640 65 29 20 3f 20 63 2d 3e 73 69 7a 65 2d 3e 62 61 73 65 5f 68 65 69 67 68 74 20 3a 20 28 63 2d 3e e).?.c->size->base_height.:.(c->
16660 73 69 7a 65 2d 3e 66 6c 61 67 73 20 26 20 50 4d 69 6e 53 69 7a 65 29 20 3f 20 63 2d 3e 73 69 7a size->flags.&.PMinSize).?.c->siz
16680 65 2d 3e 6d 69 6e 5f 68 65 69 67 68 74 20 3a 20 30 3b 0a 09 09 2f 2f 20 77 6f 72 6b 20 61 72 6f e->min_height.:.0;...//.work.aro
166a0 75 6e 64 20 62 72 6f 6b 65 6e 20 61 70 70 73 20 74 68 61 74 20 73 65 74 20 74 68 65 69 72 20 72 und.broken.apps.that.set.their.r
166c0 65 73 69 7a 65 20 69 6e 63 72 65 6d 65 6e 74 73 20 74 6f 20 30 0a 09 09 69 66 20 28 6d 6f 64 65 esize.increments.to.0...if.(mode
166e0 20 3d 3d 20 50 49 58 45 4c 53 29 0a 09 09 7b 0a 09 09 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e .==.PIXELS)...{....if.(c->size->
16700 77 69 64 74 68 5f 69 6e 63 20 21 3d 20 30 29 0a 09 09 09 7b 0a 09 09 09 09 2a 78 5f 72 65 74 20 width_inc.!=.0)....{.....*x_ret.
16720 3d 20 6e 65 77 64 69 6d 73 2d 3e 77 69 64 74 68 20 2d 20 28 28 6e 65 77 64 69 6d 73 2d 3e 77 69 =.newdims->width.-.((newdims->wi
16740 64 74 68 20 2d 20 62 61 73 65 78 29 20 25 20 63 2d 3e 73 69 7a 65 2d 3e 77 69 64 74 68 5f 69 6e dth.-.basex).%.c->size->width_in
16760 63 29 3b 0a 09 09 09 7d 0a 09 09 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 68 65 69 67 68 74 5f c);....}....if.(c->size->height_
16780 69 6e 63 20 21 3d 20 30 29 0a 09 09 09 7b 0a 09 09 09 09 2a 79 5f 72 65 74 20 3d 20 6e 65 77 64 inc.!=.0)....{.....*y_ret.=.newd
167a0 69 6d 73 2d 3e 68 65 69 67 68 74 20 2d 20 28 28 6e 65 77 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 ims->height.-.((newdims->height.
167c0 2d 20 62 61 73 65 79 29 20 25 20 63 2d 3e 73 69 7a 65 2d 3e 68 65 69 67 68 74 5f 69 6e 63 29 3b -.basey).%.c->size->height_inc);
167e0 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 65 6c 73 65 20 2f 2f 20 49 4e 43 52 45 4d 45 4e 54 53 0a 09 ....}...}...else.//.INCREMENTS..
16800 09 7b 0a 09 09 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 77 69 64 74 68 5f 69 6e 63 20 21 3d 20 .{....if.(c->size->width_inc.!=.
16820 30 29 0a 09 09 09 7b 0a 09 09 09 09 2a 78 5f 72 65 74 20 3d 20 28 6e 65 77 64 69 6d 73 2d 3e 77 0)....{.....*x_ret.=.(newdims->w
16840 69 64 74 68 20 2d 20 62 61 73 65 78 29 20 2f 20 63 2d 3e 73 69 7a 65 2d 3e 77 69 64 74 68 5f 69 idth.-.basex)./.c->size->width_i
16860 6e 63 3b 0a 09 09 09 7d 0a 09 09 09 69 66 20 28 63 2d 3e 73 69 7a 65 2d 3e 68 65 69 67 68 74 5f nc;....}....if.(c->size->height_
16880 69 6e 63 20 21 3d 20 30 29 0a 09 09 09 7b 0a 09 09 09 09 2a 79 5f 72 65 74 20 3d 20 28 6e 65 77 inc.!=.0)....{.....*y_ret.=.(new
168a0 64 69 6d 73 2d 3e 68 65 69 67 68 74 20 2d 20 62 61 73 65 79 29 20 2f 20 63 2d 3e 73 69 7a 65 2d dims->height.-.basey)./.c->size-
168c0 3e 68 65 69 67 68 74 5f 69 6e 63 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 31 >height_inc;....}...}...return.1
168e0 3b 0a 09 7d 0a 09 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 76 6f 69 64 20 77 72 69 74 65 5f 74 69 ;..}..return.0;.}..void.write_ti
16900 74 6c 65 74 65 78 74 28 43 6c 69 65 6e 74 20 2a 63 2c 20 57 69 6e 64 6f 77 20 62 61 72 5f 77 69 tletext(Client.*c,.Window.bar_wi
16920 6e 29 0a 7b 0a 23 69 66 64 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a 09 69 66 20 28 21 63 2d 3e 68 n).{.#ifdef.MWM_HINTS..if.(!c->h
16940 61 73 5f 74 69 74 6c 65 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 3b 0a 09 7d 0a 23 65 6e 64 69 66 as_title)..{...return;..}.#endif
16960 0a 09 69 66 20 28 21 63 2d 3e 74 72 61 6e 73 20 26 26 20 63 2d 3e 6e 61 6d 65 20 21 3d 20 4e 55 ..if.(!c->trans.&&.c->name.!=.NU
16980 4c 4c 29 0a 09 7b 0a 23 69 66 64 65 66 20 58 46 54 0a 09 09 28 76 6f 69 64 29 20 62 61 72 5f 77 LL)..{.#ifdef.XFT...(void).bar_w
169a0 69 6e 3b 20 2f 2f 20 66 69 78 65 73 20 61 20 77 61 72 6e 69 6e 67 0a 09 09 58 66 74 44 72 61 77 in;.//.fixes.a.warning...XftDraw
169c0 53 74 72 69 6e 67 38 28 63 2d 3e 78 66 74 64 72 61 77 2c 20 26 78 66 74 5f 64 65 74 61 69 6c 2c String8(c->xftdraw,.&xft_detail,
169e0 20 78 66 74 66 6f 6e 74 2c 20 53 50 41 43 45 2c 20 53 50 41 43 45 20 2b 20 78 66 74 66 6f 6e 74 .xftfont,.SPACE,.SPACE.+.xftfont
16a00 2d 3e 61 73 63 65 6e 74 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 63 2d 3e 6e 61 ->ascent,.(unsigned.char.*)c->na
16a20 6d 65 2c 20 73 74 72 6c 65 6e 28 63 2d 3e 6e 61 6d 65 29 29 3b 0a 23 65 6c 73 65 0a 09 09 58 44 me,.strlen(c->name));.#else...XD
16a40 72 61 77 53 74 72 69 6e 67 28 64 73 70 6c 79 2c 20 62 61 72 5f 77 69 6e 2c 20 74 65 78 74 5f 67 rawString(dsply,.bar_win,.text_g
16a60 63 2c 20 53 50 41 43 45 2c 20 53 50 41 43 45 20 2b 20 66 6f 6e 74 2d 3e 61 73 63 65 6e 74 2c 20 c,.SPACE,.SPACE.+.font->ascent,.
16a80 63 2d 3e 6e 61 6d 65 2c 20 73 74 72 6c 65 6e 28 63 2d 3e 6e 61 6d 65 29 29 3b 0a 23 65 6e 64 69 c->name,.strlen(c->name));.#endi
16aa0 66 0a 09 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f..}.}..........................
16ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c00 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 6d 61 69 6e 2e 63 00 00 00 00 00 00 00 00 00 00 00 windowlab-1.40/main.c...........
16c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
16c80 30 30 32 30 31 34 36 00 31 31 33 35 36 31 35 35 32 37 37 00 30 31 33 31 36 35 00 20 30 00 00 00 0020146.11356155277.013165..0...
16ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16d00 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
16d20 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
16d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e00 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
16e20 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
16e40 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
16e60 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
16e80 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
16ea0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
16ec0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
16ee0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
16f00 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
16f20 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
16f40 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
16f60 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
16f80 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
16fa0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
16fc0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
16fe0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
17000 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
17020 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
17040 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
17060 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
17080 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
170a0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
170c0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
170e0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
17100 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
17120 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
17140 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 10-1301,.USA...*/..#include.<str
17160 69 6e 67 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 0a 23 69 6e 63 6c ing.h>.#include.<signal.h>.#incl
17180 75 64 65 20 3c 58 31 31 2f 63 75 72 73 6f 72 66 6f 6e 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 ude.<X11/cursorfont.h>.#include.
171a0 22 77 69 6e 64 6f 77 6c 61 62 2e 68 22 0a 0a 44 69 73 70 6c 61 79 20 2a 64 73 70 6c 79 20 3d 20 "windowlab.h"..Display.*dsply.=.
171c0 4e 55 4c 4c 3b 0a 57 69 6e 64 6f 77 20 72 6f 6f 74 3b 0a 69 6e 74 20 73 63 72 65 65 6e 3b 0a 58 NULL;.Window.root;.int.screen;.X
171e0 46 6f 6e 74 53 74 72 75 63 74 20 2a 66 6f 6e 74 20 3d 20 4e 55 4c 4c 3b 0a 23 69 66 64 65 66 20 FontStruct.*font.=.NULL;.#ifdef.
17200 58 46 54 0a 58 66 74 46 6f 6e 74 20 2a 78 66 74 66 6f 6e 74 20 3d 20 4e 55 4c 4c 3b 0a 58 66 74 XFT.XftFont.*xftfont.=.NULL;.Xft
17220 43 6f 6c 6f 72 20 78 66 74 5f 64 65 74 61 69 6c 3b 0a 23 65 6e 64 69 66 0a 47 43 20 73 74 72 69 Color.xft_detail;.#endif.GC.stri
17240 6e 67 5f 67 63 2c 20 62 6f 72 64 65 72 5f 67 63 2c 20 74 65 78 74 5f 67 63 2c 20 61 63 74 69 76 ng_gc,.border_gc,.text_gc,.activ
17260 65 5f 67 63 2c 20 64 65 70 72 65 73 73 65 64 5f 67 63 2c 20 69 6e 61 63 74 69 76 65 5f 67 63 2c e_gc,.depressed_gc,.inactive_gc,
17280 20 6d 65 6e 75 5f 67 63 2c 20 73 65 6c 65 63 74 65 64 5f 67 63 2c 20 65 6d 70 74 79 5f 67 63 3b .menu_gc,.selected_gc,.empty_gc;
172a0 0a 58 43 6f 6c 6f 72 20 62 6f 72 64 65 72 5f 63 6f 6c 2c 20 74 65 78 74 5f 63 6f 6c 2c 20 61 63 .XColor.border_col,.text_col,.ac
172c0 74 69 76 65 5f 63 6f 6c 2c 20 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2c 20 69 6e 61 63 74 69 76 tive_col,.depressed_col,.inactiv
172e0 65 5f 63 6f 6c 2c 20 6d 65 6e 75 5f 63 6f 6c 2c 20 73 65 6c 65 63 74 65 64 5f 63 6f 6c 2c 20 65 e_col,.menu_col,.selected_col,.e
17300 6d 70 74 79 5f 63 6f 6c 3b 0a 43 75 72 73 6f 72 20 72 65 73 69 7a 65 5f 63 75 72 73 3b 0a 41 74 mpty_col;.Cursor.resize_curs;.At
17320 6f 6d 20 77 6d 5f 73 74 61 74 65 2c 20 77 6d 5f 63 68 61 6e 67 65 5f 73 74 61 74 65 2c 20 77 6d om.wm_state,.wm_change_state,.wm
17340 5f 70 72 6f 74 6f 73 2c 20 77 6d 5f 64 65 6c 65 74 65 2c 20 77 6d 5f 63 6d 61 70 77 69 6e 73 3b _protos,.wm_delete,.wm_cmapwins;
17360 0a 23 69 66 64 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a 41 74 6f 6d 20 6d 77 6d 5f 68 69 6e 74 73 .#ifdef.MWM_HINTS.Atom.mwm_hints
17380 3b 0a 23 65 6e 64 69 66 0a 43 6c 69 65 6e 74 20 2a 68 65 61 64 5f 63 6c 69 65 6e 74 20 3d 20 4e ;.#endif.Client.*head_client.=.N
173a0 55 4c 4c 2c 20 2a 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 2c 20 2a 74 6f ULL,.*focused_client.=.NULL,.*to
173c0 70 6d 6f 73 74 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 2c 20 2a 66 75 6c 6c 73 63 72 65 65 6e pmost_client.=.NULL,.*fullscreen
173e0 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 0a 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 6e 5f _client.=.NULL;.unsigned.int.in_
17400 74 61 73 6b 62 61 72 20 3d 20 30 3b 20 2f 2f 20 61 63 74 75 61 6c 6c 79 2c 20 77 65 20 64 6f 6e taskbar.=.0;.//.actually,.we.don
17420 27 74 20 6b 6e 6f 77 20 79 65 74 0a 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 68 6f 77 69 6e 67 't.know.yet.unsigned.int.showing
17440 5f 74 61 73 6b 62 61 72 20 3d 20 31 3b 0a 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 66 6f 63 75 73 _taskbar.=.1;.unsigned.int.focus
17460 5f 63 6f 75 6e 74 20 3d 20 30 3b 0a 52 65 63 74 20 66 73 5f 70 72 65 76 64 69 6d 73 3b 0a 63 68 _count.=.0;.Rect.fs_prevdims;.ch
17480 61 72 20 2a 6f 70 74 5f 66 6f 6e 74 20 3d 20 44 45 46 5f 46 4f 4e 54 3b 0a 63 68 61 72 20 2a 6f ar.*opt_font.=.DEF_FONT;.char.*o
174a0 70 74 5f 62 6f 72 64 65 72 20 3d 20 44 45 46 5f 42 4f 52 44 45 52 3b 0a 63 68 61 72 20 2a 6f 70 pt_border.=.DEF_BORDER;.char.*op
174c0 74 5f 74 65 78 74 20 3d 20 44 45 46 5f 54 45 58 54 3b 0a 63 68 61 72 20 2a 6f 70 74 5f 61 63 74 t_text.=.DEF_TEXT;.char.*opt_act
174e0 69 76 65 20 3d 20 44 45 46 5f 41 43 54 49 56 45 3b 0a 63 68 61 72 20 2a 6f 70 74 5f 69 6e 61 63 ive.=.DEF_ACTIVE;.char.*opt_inac
17500 74 69 76 65 20 3d 20 44 45 46 5f 49 4e 41 43 54 49 56 45 3b 0a 63 68 61 72 20 2a 6f 70 74 5f 6d tive.=.DEF_INACTIVE;.char.*opt_m
17520 65 6e 75 20 3d 20 44 45 46 5f 4d 45 4e 55 3b 0a 63 68 61 72 20 2a 6f 70 74 5f 73 65 6c 65 63 74 enu.=.DEF_MENU;.char.*opt_select
17540 65 64 20 3d 20 44 45 46 5f 53 45 4c 45 43 54 45 44 3b 0a 63 68 61 72 20 2a 6f 70 74 5f 65 6d 70 ed.=.DEF_SELECTED;.char.*opt_emp
17560 74 79 20 3d 20 44 45 46 5f 45 4d 50 54 59 3b 0a 63 68 61 72 20 2a 6f 70 74 5f 64 69 73 70 6c 61 ty.=.DEF_EMPTY;.char.*opt_displa
17580 79 20 3d 20 4e 55 4c 4c 3b 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 42 6f 6f 6c 20 73 68 61 70 y.=.NULL;.#ifdef.SHAPE.Bool.shap
175a0 65 3b 0a 69 6e 74 20 73 68 61 70 65 5f 65 76 65 6e 74 3b 0a 23 65 6e 64 69 66 0a 75 6e 73 69 67 e;.int.shape_event;.#endif.unsig
175c0 6e 65 64 20 69 6e 74 20 6e 75 6d 6c 6f 63 6b 6d 61 73 6b 20 3d 20 30 3b 0a 0a 73 74 61 74 69 63 ned.int.numlockmask.=.0;..static
175e0 20 76 6f 69 64 20 73 63 61 6e 5f 77 69 6e 73 28 76 6f 69 64 29 3b 0a 73 74 61 74 69 63 20 76 6f .void.scan_wins(void);.static.vo
17600 69 64 20 73 65 74 75 70 5f 64 69 73 70 6c 61 79 28 76 6f 69 64 29 3b 0a 0a 69 6e 74 20 6d 61 69 id.setup_display(void);..int.mai
17620 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 0a 7b 0a 09 69 6e 74 20 n(int.argc,.char.**argv).{..int.
17640 69 3b 0a 09 73 74 72 75 63 74 20 73 69 67 61 63 74 69 6f 6e 20 61 63 74 3b 0a 0a 23 64 65 66 69 i;..struct.sigaction.act;..#defi
17660 6e 65 20 4f 50 54 5f 53 54 52 28 6e 61 6d 65 2c 20 76 61 72 69 61 62 6c 65 29 09 20 5c 0a 09 69 ne.OPT_STR(name,.variable)..\..i
17680 66 20 28 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 6e 61 6d 65 29 20 3d 3d 20 30 20 26 26 f.(strcmp(argv[i],.name).==.0.&&
176a0 20 69 20 2b 20 31 20 3c 20 61 72 67 63 29 20 5c 0a 09 7b 20 5c 0a 09 09 76 61 72 69 61 62 6c 65 .i.+.1.<.argc).\..{.\...variable
176c0 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 20 5c 0a 09 09 63 6f 6e 74 69 6e 75 65 3b 20 5c 0a 09 7d .=.argv[++i];.\...continue;.\..}
176e0 0a 0a 09 66 6f 72 20 28 69 20 3d 20 31 3b 20 69 20 3c 20 61 72 67 63 3b 20 69 2b 2b 29 0a 09 7b ...for.(i.=.1;.i.<.argc;.i++)..{
17700 0a 09 09 4f 50 54 5f 53 54 52 28 22 2d 66 6f 6e 74 22 2c 20 6f 70 74 5f 66 6f 6e 74 29 0a 09 09 ...OPT_STR("-font",.opt_font)...
17720 4f 50 54 5f 53 54 52 28 22 2d 62 6f 72 64 65 72 22 2c 20 6f 70 74 5f 62 6f 72 64 65 72 29 0a 09 OPT_STR("-border",.opt_border)..
17740 09 4f 50 54 5f 53 54 52 28 22 2d 74 65 78 74 22 2c 20 6f 70 74 5f 74 65 78 74 29 0a 09 09 4f 50 .OPT_STR("-text",.opt_text)...OP
17760 54 5f 53 54 52 28 22 2d 61 63 74 69 76 65 22 2c 20 6f 70 74 5f 61 63 74 69 76 65 29 0a 09 09 4f T_STR("-active",.opt_active)...O
17780 50 54 5f 53 54 52 28 22 2d 69 6e 61 63 74 69 76 65 22 2c 20 6f 70 74 5f 69 6e 61 63 74 69 76 65 PT_STR("-inactive",.opt_inactive
177a0 29 0a 09 09 4f 50 54 5f 53 54 52 28 22 2d 6d 65 6e 75 22 2c 20 6f 70 74 5f 6d 65 6e 75 29 0a 09 )...OPT_STR("-menu",.opt_menu)..
177c0 09 4f 50 54 5f 53 54 52 28 22 2d 73 65 6c 65 63 74 65 64 22 2c 20 6f 70 74 5f 73 65 6c 65 63 74 .OPT_STR("-selected",.opt_select
177e0 65 64 29 0a 09 09 4f 50 54 5f 53 54 52 28 22 2d 65 6d 70 74 79 22 2c 20 6f 70 74 5f 65 6d 70 74 ed)...OPT_STR("-empty",.opt_empt
17800 79 29 0a 09 09 4f 50 54 5f 53 54 52 28 22 2d 64 69 73 70 6c 61 79 22 2c 20 6f 70 74 5f 64 69 73 y)...OPT_STR("-display",.opt_dis
17820 70 6c 61 79 29 0a 09 09 69 66 20 28 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 61 62 play)...if.(strcmp(argv[i],."-ab
17840 6f 75 74 22 29 20 3d 3d 20 30 29 0a 09 09 7b 0a 09 09 09 70 72 69 6e 74 66 28 22 57 69 6e 64 6f out").==.0)...{....printf("Windo
17860 77 4c 61 62 20 22 20 56 45 52 53 49 4f 4e 20 22 20 28 22 20 52 45 4c 45 41 53 45 44 41 54 45 20 wLab.".VERSION.".(".RELEASEDATE.
17880 22 29 2c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 30 39 20 4e 69 63 6b "),.Copyright.(c).2001-2009.Nick
178a0 20 47 72 61 76 67 61 61 72 64 5c 6e 57 69 6e 64 6f 77 4c 61 62 20 63 6f 6d 65 73 20 77 69 74 68 .Gravgaard\nWindowLab.comes.with
178c0 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 2e 5c 6e 54 68 69 73 20 69 .ABSOLUTELY.NO.WARRANTY.\nThis.i
178e0 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c s.free.software,.and.you.are.wel
17900 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 5c 6e 75 6e 64 65 72 20 63 come.to.redistribute.it\nunder.c
17920 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 ertain.conditions;.view.the.LICE
17940 4e 43 45 20 66 69 6c 65 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 5c 6e 22 29 3b 0a 09 09 09 65 78 NCE.file.for.details.\n");....ex
17960 69 74 28 30 29 3b 0a 09 09 7d 0a 09 09 2f 2f 20 73 68 6f 75 6c 64 6e 27 74 20 67 65 74 20 68 65 it(0);...}...//.shouldn't.get.he
17980 72 65 3b 20 6d 75 73 74 20 62 65 20 61 20 62 61 64 20 6f 70 74 69 6f 6e 0a 09 09 65 72 72 28 22 re;.must.be.a.bad.option...err("
179a0 75 73 61 67 65 3a 5c 6e 20 20 77 69 6e 64 6f 77 6c 61 62 20 5b 6f 70 74 69 6f 6e 73 5d 5c 6e 5c usage:\n..windowlab.[options]\n\
179c0 6e 6f 70 74 69 6f 6e 73 20 61 72 65 3a 5c 6e 20 20 2d 66 6f 6e 74 20 3c 66 6f 6e 74 3e 5c 6e 20 noptions.are:\n..-font.<font>\n.
179e0 20 2d 62 6f 72 64 65 72 7c 2d 74 65 78 74 7c 2d 61 63 74 69 76 65 7c 2d 69 6e 61 63 74 69 76 65 .-border|-text|-active|-inactive
17a00 7c 2d 6d 65 6e 75 7c 2d 73 65 6c 65 63 74 65 64 7c 2d 65 6d 70 74 79 20 3c 63 6f 6c 6f 72 3e 5c |-menu|-selected|-empty.<color>\
17a20 6e 20 20 2d 61 62 6f 75 74 5c 6e 20 20 2d 64 69 73 70 6c 61 79 20 3c 64 69 73 70 6c 61 79 3e 22 n..-about\n..-display.<display>"
17a40 29 3b 0a 09 09 72 65 74 75 72 6e 20 32 3b 0a 09 7d 0a 0a 09 61 63 74 2e 73 61 5f 68 61 6e 64 6c );...return.2;..}...act.sa_handl
17a60 65 72 20 3d 20 73 69 67 5f 68 61 6e 64 6c 65 72 3b 0a 09 61 63 74 2e 73 61 5f 66 6c 61 67 73 20 er.=.sig_handler;..act.sa_flags.
17a80 3d 20 30 3b 0a 09 73 69 67 61 63 74 69 6f 6e 28 53 49 47 54 45 52 4d 2c 20 26 61 63 74 2c 20 4e =.0;..sigaction(SIGTERM,.&act,.N
17aa0 55 4c 4c 29 3b 0a 09 73 69 67 61 63 74 69 6f 6e 28 53 49 47 49 4e 54 2c 20 26 61 63 74 2c 20 4e ULL);..sigaction(SIGINT,.&act,.N
17ac0 55 4c 4c 29 3b 0a 09 73 69 67 61 63 74 69 6f 6e 28 53 49 47 48 55 50 2c 20 26 61 63 74 2c 20 4e ULL);..sigaction(SIGHUP,.&act,.N
17ae0 55 4c 4c 29 3b 0a 09 73 69 67 61 63 74 69 6f 6e 28 53 49 47 43 48 4c 44 2c 20 26 61 63 74 2c 20 ULL);..sigaction(SIGCHLD,.&act,.
17b00 4e 55 4c 4c 29 3b 0a 0a 09 73 65 74 75 70 5f 64 69 73 70 6c 61 79 28 29 3b 0a 09 67 65 74 5f 6d NULL);...setup_display();..get_m
17b20 65 6e 75 69 74 65 6d 73 28 29 3b 0a 09 6d 61 6b 65 5f 74 61 73 6b 62 61 72 28 29 3b 0a 09 73 63 enuitems();..make_taskbar();..sc
17b40 61 6e 5f 77 69 6e 73 28 29 3b 0a 09 64 6f 5f 65 76 65 6e 74 5f 6c 6f 6f 70 28 29 3b 0a 09 72 65 an_wins();..do_event_loop();..re
17b60 74 75 72 6e 20 31 3b 20 2f 2f 20 6a 75 73 74 20 61 6e 6f 74 68 65 72 20 62 72 69 63 6b 20 69 6e turn.1;.//.just.another.brick.in
17b80 20 74 68 65 20 2d 57 61 6c 6c 0a 7d 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 73 63 61 6e 5f 77 .the.-Wall.}..static.void.scan_w
17ba0 69 6e 73 28 76 6f 69 64 29 0a 7b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6e 77 69 6e 73 2c ins(void).{..unsigned.int.nwins,
17bc0 20 69 3b 0a 09 57 69 6e 64 6f 77 20 64 75 6d 6d 79 77 31 2c 20 64 75 6d 6d 79 77 32 2c 20 2a 77 .i;..Window.dummyw1,.dummyw2,.*w
17be0 69 6e 73 3b 0a 09 58 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 61 74 74 72 3b 0a 0a 09 ins;..XWindowAttributes.attr;...
17c00 58 51 75 65 72 79 54 72 65 65 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 26 64 75 6d 6d 79 77 31 XQueryTree(dsply,.root,.&dummyw1
17c20 2c 20 26 64 75 6d 6d 79 77 32 2c 20 26 77 69 6e 73 2c 20 26 6e 77 69 6e 73 29 3b 0a 09 66 6f 72 ,.&dummyw2,.&wins,.&nwins);..for
17c40 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 77 69 6e 73 3b 20 69 2b 2b 29 0a 09 7b 0a 09 09 58 47 .(i.=.0;.i.<.nwins;.i++)..{...XG
17c60 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 73 70 6c 79 2c 20 77 69 6e 73 5b 69 etWindowAttributes(dsply,.wins[i
17c80 5d 2c 20 26 61 74 74 72 29 3b 0a 09 09 69 66 20 28 21 61 74 74 72 2e 6f 76 65 72 72 69 64 65 5f ],.&attr);...if.(!attr.override_
17ca0 72 65 64 69 72 65 63 74 20 26 26 20 61 74 74 72 2e 6d 61 70 5f 73 74 61 74 65 20 3d 3d 20 49 73 redirect.&&.attr.map_state.==.Is
17cc0 56 69 65 77 61 62 6c 65 29 0a 09 09 7b 0a 09 09 09 6d 61 6b 65 5f 6e 65 77 5f 63 6c 69 65 6e 74 Viewable)...{....make_new_client
17ce0 28 77 69 6e 73 5b 69 5d 29 3b 0a 09 09 7d 0a 09 7d 0a 09 58 46 72 65 65 28 77 69 6e 73 29 3b 0a (wins[i]);...}..}..XFree(wins);.
17d00 7d 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 5f 64 69 73 70 6c 61 79 28 76 6f 69 }..static.void.setup_display(voi
17d20 64 29 0a 7b 0a 09 58 43 6f 6c 6f 72 20 64 75 6d 6d 79 63 3b 0a 09 58 47 43 56 61 6c 75 65 73 20 d).{..XColor.dummyc;..XGCValues.
17d40 67 76 3b 0a 09 58 53 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 73 61 74 74 72 3b gv;..XSetWindowAttributes.sattr;
17d60 0a 09 58 4d 6f 64 69 66 69 65 72 4b 65 79 6d 61 70 20 2a 6d 6f 64 6d 61 70 3b 0a 09 69 6e 74 20 ..XModifierKeymap.*modmap;..int.
17d80 69 2c 20 6a 3b 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 09 69 6e 74 20 64 75 6d 6d 79 3b 0a 23 i,.j;.#ifdef.SHAPE..int.dummy;.#
17da0 65 6e 64 69 66 0a 0a 09 64 73 70 6c 79 20 3d 20 58 4f 70 65 6e 44 69 73 70 6c 61 79 28 6f 70 74 endif...dsply.=.XOpenDisplay(opt
17dc0 5f 64 69 73 70 6c 61 79 29 3b 0a 0a 09 69 66 20 28 64 73 70 6c 79 20 3d 3d 20 4e 55 4c 4c 29 0a _display);...if.(dsply.==.NULL).
17de0 09 7b 0a 09 09 65 72 72 28 22 63 61 6e 27 74 20 6f 70 65 6e 20 64 69 73 70 6c 61 79 21 20 63 68 .{...err("can't.open.display!.ch
17e00 65 63 6b 20 79 6f 75 72 20 44 49 53 50 4c 41 59 20 76 61 72 69 61 62 6c 65 2e 22 29 3b 0a 09 09 eck.your.DISPLAY.variable.");...
17e20 65 78 69 74 28 31 29 3b 0a 09 7d 0a 0a 09 58 53 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 68 exit(1);..}...XSetErrorHandler(h
17e40 61 6e 64 6c 65 5f 78 65 72 72 6f 72 29 3b 0a 09 73 63 72 65 65 6e 20 3d 20 44 65 66 61 75 6c 74 andle_xerror);..screen.=.Default
17e60 53 63 72 65 65 6e 28 64 73 70 6c 79 29 3b 0a 09 72 6f 6f 74 20 3d 20 52 6f 6f 74 57 69 6e 64 6f Screen(dsply);..root.=.RootWindo
17e80 77 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 3b 0a 0a 09 77 6d 5f 73 74 61 74 65 20 3d 20 58 w(dsply,.screen);...wm_state.=.X
17ea0 49 6e 74 65 72 6e 41 74 6f 6d 28 64 73 70 6c 79 2c 20 22 57 4d 5f 53 54 41 54 45 22 2c 20 46 61 InternAtom(dsply,."WM_STATE",.Fa
17ec0 6c 73 65 29 3b 0a 09 77 6d 5f 63 68 61 6e 67 65 5f 73 74 61 74 65 20 3d 20 58 49 6e 74 65 72 6e lse);..wm_change_state.=.XIntern
17ee0 41 74 6f 6d 28 64 73 70 6c 79 2c 20 22 57 4d 5f 43 48 41 4e 47 45 5f 53 54 41 54 45 22 2c 20 46 Atom(dsply,."WM_CHANGE_STATE",.F
17f00 61 6c 73 65 29 3b 0a 09 77 6d 5f 70 72 6f 74 6f 73 20 3d 20 58 49 6e 74 65 72 6e 41 74 6f 6d 28 alse);..wm_protos.=.XInternAtom(
17f20 64 73 70 6c 79 2c 20 22 57 4d 5f 50 52 4f 54 4f 43 4f 4c 53 22 2c 20 46 61 6c 73 65 29 3b 0a 09 dsply,."WM_PROTOCOLS",.False);..
17f40 77 6d 5f 64 65 6c 65 74 65 20 3d 20 58 49 6e 74 65 72 6e 41 74 6f 6d 28 64 73 70 6c 79 2c 20 22 wm_delete.=.XInternAtom(dsply,."
17f60 57 4d 5f 44 45 4c 45 54 45 5f 57 49 4e 44 4f 57 22 2c 20 46 61 6c 73 65 29 3b 0a 09 77 6d 5f 63 WM_DELETE_WINDOW",.False);..wm_c
17f80 6d 61 70 77 69 6e 73 20 3d 20 58 49 6e 74 65 72 6e 41 74 6f 6d 28 64 73 70 6c 79 2c 20 22 57 4d mapwins.=.XInternAtom(dsply,."WM
17fa0 5f 43 4f 4c 4f 52 4d 41 50 5f 57 49 4e 44 4f 57 53 22 2c 20 46 61 6c 73 65 29 3b 0a 23 69 66 64 _COLORMAP_WINDOWS",.False);.#ifd
17fc0 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a 09 6d 77 6d 5f 68 69 6e 74 73 20 3d 20 58 49 6e 74 65 72 ef.MWM_HINTS..mwm_hints.=.XInter
17fe0 6e 41 74 6f 6d 28 64 73 70 6c 79 2c 20 5f 58 41 5f 4d 57 4d 5f 48 49 4e 54 53 2c 20 46 61 6c 73 nAtom(dsply,._XA_MWM_HINTS,.Fals
18000 65 29 3b 0a 23 65 6e 64 69 66 0a 0a 09 58 41 6c 6c 6f 63 4e 61 6d 65 64 43 6f 6c 6f 72 28 64 73 e);.#endif...XAllocNamedColor(ds
18020 70 6c 79 2c 20 44 65 66 61 75 6c 74 43 6f 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 73 63 72 65 ply,.DefaultColormap(dsply,.scre
18040 65 6e 29 2c 20 6f 70 74 5f 62 6f 72 64 65 72 2c 20 26 62 6f 72 64 65 72 5f 63 6f 6c 2c 20 26 64 en),.opt_border,.&border_col,.&d
18060 75 6d 6d 79 63 29 3b 0a 09 58 41 6c 6c 6f 63 4e 61 6d 65 64 43 6f 6c 6f 72 28 64 73 70 6c 79 2c ummyc);..XAllocNamedColor(dsply,
18080 20 44 65 66 61 75 6c 74 43 6f 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c .DefaultColormap(dsply,.screen),
180a0 20 6f 70 74 5f 74 65 78 74 2c 20 26 74 65 78 74 5f 63 6f 6c 2c 20 26 64 75 6d 6d 79 63 29 3b 0a .opt_text,.&text_col,.&dummyc);.
180c0 09 58 41 6c 6c 6f 63 4e 61 6d 65 64 43 6f 6c 6f 72 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 .XAllocNamedColor(dsply,.Default
180e0 43 6f 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 6f 70 74 5f 61 63 74 Colormap(dsply,.screen),.opt_act
18100 69 76 65 2c 20 26 61 63 74 69 76 65 5f 63 6f 6c 2c 20 26 64 75 6d 6d 79 63 29 3b 0a 09 58 41 6c ive,.&active_col,.&dummyc);..XAl
18120 6c 6f 63 4e 61 6d 65 64 43 6f 6c 6f 72 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 43 6f 6c 6f locNamedColor(dsply,.DefaultColo
18140 72 6d 61 70 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 6f 70 74 5f 69 6e 61 63 74 69 76 rmap(dsply,.screen),.opt_inactiv
18160 65 2c 20 26 69 6e 61 63 74 69 76 65 5f 63 6f 6c 2c 20 26 64 75 6d 6d 79 63 29 3b 0a 09 58 41 6c e,.&inactive_col,.&dummyc);..XAl
18180 6c 6f 63 4e 61 6d 65 64 43 6f 6c 6f 72 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 43 6f 6c 6f locNamedColor(dsply,.DefaultColo
181a0 72 6d 61 70 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 6f 70 74 5f 6d 65 6e 75 2c 20 26 rmap(dsply,.screen),.opt_menu,.&
181c0 6d 65 6e 75 5f 63 6f 6c 2c 20 26 64 75 6d 6d 79 63 29 3b 0a 09 58 41 6c 6c 6f 63 4e 61 6d 65 64 menu_col,.&dummyc);..XAllocNamed
181e0 43 6f 6c 6f 72 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 43 6f 6c 6f 72 6d 61 70 28 64 73 70 Color(dsply,.DefaultColormap(dsp
18200 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 6f 70 74 5f 73 65 6c 65 63 74 65 64 2c 20 26 73 65 6c 65 ly,.screen),.opt_selected,.&sele
18220 63 74 65 64 5f 63 6f 6c 2c 20 26 64 75 6d 6d 79 63 29 3b 0a 09 58 41 6c 6c 6f 63 4e 61 6d 65 64 cted_col,.&dummyc);..XAllocNamed
18240 43 6f 6c 6f 72 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 43 6f 6c 6f 72 6d 61 70 28 64 73 70 Color(dsply,.DefaultColormap(dsp
18260 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 6f 70 74 5f 65 6d 70 74 79 2c 20 26 65 6d 70 74 79 5f 63 ly,.screen),.opt_empty,.&empty_c
18280 6f 6c 2c 20 26 64 75 6d 6d 79 63 29 3b 0a 0a 09 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2e 70 69 ol,.&dummyc);...depressed_col.pi
182a0 78 65 6c 20 3d 20 61 63 74 69 76 65 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 64 65 70 72 65 73 73 xel.=.active_col.pixel;..depress
182c0 65 64 5f 63 6f 6c 2e 72 65 64 20 3d 20 61 63 74 69 76 65 5f 63 6f 6c 2e 72 65 64 20 2d 20 41 43 ed_col.red.=.active_col.red.-.AC
182e0 54 49 56 45 5f 53 48 41 44 4f 57 3b 0a 09 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2e 67 72 65 65 TIVE_SHADOW;..depressed_col.gree
18300 6e 20 3d 20 61 63 74 69 76 65 5f 63 6f 6c 2e 67 72 65 65 6e 20 2d 20 41 43 54 49 56 45 5f 53 48 n.=.active_col.green.-.ACTIVE_SH
18320 41 44 4f 57 3b 0a 09 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2e 62 6c 75 65 20 3d 20 61 63 74 69 ADOW;..depressed_col.blue.=.acti
18340 76 65 5f 63 6f 6c 2e 62 6c 75 65 20 2d 20 41 43 54 49 56 45 5f 53 48 41 44 4f 57 3b 0a 09 64 65 ve_col.blue.-.ACTIVE_SHADOW;..de
18360 70 72 65 73 73 65 64 5f 63 6f 6c 2e 72 65 64 20 3d 20 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2e pressed_col.red.=.depressed_col.
18380 72 65 64 20 3c 3d 20 28 55 53 48 52 54 5f 4d 41 58 20 2d 20 41 43 54 49 56 45 5f 53 48 41 44 4f red.<=.(USHRT_MAX.-.ACTIVE_SHADO
183a0 57 29 20 3f 20 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2e 72 65 64 20 3a 20 30 3b 0a 09 64 65 70 W).?.depressed_col.red.:.0;..dep
183c0 72 65 73 73 65 64 5f 63 6f 6c 2e 67 72 65 65 6e 20 3d 20 64 65 70 72 65 73 73 65 64 5f 63 6f 6c ressed_col.green.=.depressed_col
183e0 2e 67 72 65 65 6e 20 3c 3d 20 28 55 53 48 52 54 5f 4d 41 58 20 2d 20 41 43 54 49 56 45 5f 53 48 .green.<=.(USHRT_MAX.-.ACTIVE_SH
18400 41 44 4f 57 29 20 3f 20 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2e 67 72 65 65 6e 20 3a 20 30 3b ADOW).?.depressed_col.green.:.0;
18420 0a 09 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2e 62 6c 75 65 20 3d 20 64 65 70 72 65 73 73 65 64 ..depressed_col.blue.=.depressed
18440 5f 63 6f 6c 2e 62 6c 75 65 20 3c 3d 20 28 55 53 48 52 54 5f 4d 41 58 20 2d 20 41 43 54 49 56 45 _col.blue.<=.(USHRT_MAX.-.ACTIVE
18460 5f 53 48 41 44 4f 57 29 20 3f 20 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2e 62 6c 75 65 20 3a 20 _SHADOW).?.depressed_col.blue.:.
18480 30 3b 0a 09 58 41 6c 6c 6f 63 43 6f 6c 6f 72 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 43 6f 0;..XAllocColor(dsply,.DefaultCo
184a0 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 73 63 72 65 65 6e 29 2c 20 26 64 65 70 72 65 73 73 65 lormap(dsply,.screen),.&depresse
184c0 64 5f 63 6f 6c 29 3b 0a 0a 23 69 66 64 65 66 20 58 46 54 0a 09 78 66 74 5f 64 65 74 61 69 6c 2e d_col);..#ifdef.XFT..xft_detail.
184e0 63 6f 6c 6f 72 2e 72 65 64 20 3d 20 74 65 78 74 5f 63 6f 6c 2e 72 65 64 3b 0a 09 78 66 74 5f 64 color.red.=.text_col.red;..xft_d
18500 65 74 61 69 6c 2e 63 6f 6c 6f 72 2e 67 72 65 65 6e 20 3d 20 74 65 78 74 5f 63 6f 6c 2e 67 72 65 etail.color.green.=.text_col.gre
18520 65 6e 3b 0a 09 78 66 74 5f 64 65 74 61 69 6c 2e 63 6f 6c 6f 72 2e 62 6c 75 65 20 3d 20 74 65 78 en;..xft_detail.color.blue.=.tex
18540 74 5f 63 6f 6c 2e 62 6c 75 65 3b 0a 09 78 66 74 5f 64 65 74 61 69 6c 2e 63 6f 6c 6f 72 2e 61 6c t_col.blue;..xft_detail.color.al
18560 70 68 61 20 3d 20 30 78 66 66 66 66 3b 0a 09 78 66 74 5f 64 65 74 61 69 6c 2e 70 69 78 65 6c 20 pha.=.0xffff;..xft_detail.pixel.
18580 3d 20 74 65 78 74 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 0a 09 78 66 74 66 6f 6e 74 20 3d 20 58 66 =.text_col.pixel;...xftfont.=.Xf
185a0 74 46 6f 6e 74 4f 70 65 6e 58 6c 66 64 28 64 73 70 6c 79 2c 20 44 65 66 61 75 6c 74 53 63 72 65 tFontOpenXlfd(dsply,.DefaultScre
185c0 65 6e 28 64 73 70 6c 79 29 2c 20 6f 70 74 5f 66 6f 6e 74 29 3b 0a 09 69 66 20 28 78 66 74 66 6f en(dsply),.opt_font);..if.(xftfo
185e0 6e 74 20 3d 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 65 72 72 28 22 66 6f 6e 74 20 27 25 73 27 20 nt.==.NULL)..{...err("font.'%s'.
18600 6e 6f 74 20 66 6f 75 6e 64 22 2c 20 6f 70 74 5f 66 6f 6e 74 29 3b 0a 09 09 65 78 69 74 28 31 29 not.found",.opt_font);...exit(1)
18620 3b 0a 09 7d 0a 23 65 6c 73 65 0a 09 66 6f 6e 74 20 3d 20 58 4c 6f 61 64 51 75 65 72 79 46 6f 6e ;..}.#else..font.=.XLoadQueryFon
18640 74 28 64 73 70 6c 79 2c 20 6f 70 74 5f 66 6f 6e 74 29 3b 0a 09 69 66 20 28 66 6f 6e 74 20 3d 3d t(dsply,.opt_font);..if.(font.==
18660 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 65 72 72 28 22 58 4c 6f 61 64 51 75 65 72 79 46 6f 6e 74 28 .NULL)..{...err("XLoadQueryFont(
18680 29 3a 20 66 6f 6e 74 20 27 25 73 27 20 6e 6f 74 20 66 6f 75 6e 64 22 2c 20 6f 70 74 5f 66 6f 6e ):.font.'%s'.not.found",.opt_fon
186a0 74 29 3b 0a 09 09 65 78 69 74 28 31 29 3b 0a 09 7d 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 t);...exit(1);..}.#endif..#ifdef
186c0 20 53 48 41 50 45 0a 09 73 68 61 70 65 20 3d 20 58 53 68 61 70 65 51 75 65 72 79 45 78 74 65 6e .SHAPE..shape.=.XShapeQueryExten
186e0 73 69 6f 6e 28 64 73 70 6c 79 2c 20 26 73 68 61 70 65 5f 65 76 65 6e 74 2c 20 26 64 75 6d 6d 79 sion(dsply,.&shape_event,.&dummy
18700 29 3b 0a 23 65 6e 64 69 66 0a 0a 09 72 65 73 69 7a 65 5f 63 75 72 73 20 3d 20 58 43 72 65 61 74 );.#endif...resize_curs.=.XCreat
18720 65 46 6f 6e 74 43 75 72 73 6f 72 28 64 73 70 6c 79 2c 20 58 43 5f 66 6c 65 75 72 29 3b 0a 0a 09 eFontCursor(dsply,.XC_fleur);...
18740 2f 2a 20 66 69 6e 64 20 6f 75 74 20 77 68 69 63 68 20 6d 6f 64 69 66 69 65 72 20 69 73 20 4e 75 /*.find.out.which.modifier.is.Nu
18760 6d 4c 6f 63 6b 20 2d 20 77 65 27 6c 6c 20 75 73 65 20 74 68 69 73 20 77 68 65 6e 20 67 72 61 62 mLock.-.we'll.use.this.when.grab
18780 62 69 6e 67 20 65 76 65 72 79 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 6d 6f 64 69 66 69 bing.every.combination.of.modifi
187a0 65 72 73 20 77 65 20 63 61 6e 20 74 68 69 6e 6b 20 6f 66 20 2a 2f 0a 09 6d 6f 64 6d 61 70 20 3d ers.we.can.think.of.*/..modmap.=
187c0 20 58 47 65 74 4d 6f 64 69 66 69 65 72 4d 61 70 70 69 6e 67 28 64 73 70 6c 79 29 3b 0a 09 66 6f .XGetModifierMapping(dsply);..fo
187e0 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 0a 09 7b 0a 09 09 66 6f 72 20 28 r.(i.=.0;.i.<.8;.i++)..{...for.(
18800 6a 20 3d 20 30 3b 20 6a 20 3c 20 6d 6f 64 6d 61 70 2d 3e 6d 61 78 5f 6b 65 79 70 65 72 6d 6f 64 j.=.0;.j.<.modmap->max_keypermod
18820 3b 20 6a 2b 2b 29 0a 09 09 7b 0a 09 09 09 69 66 20 28 6d 6f 64 6d 61 70 2d 3e 6d 6f 64 69 66 69 ;.j++)...{....if.(modmap->modifi
18840 65 72 6d 61 70 5b 69 20 2a 20 6d 6f 64 6d 61 70 2d 3e 6d 61 78 5f 6b 65 79 70 65 72 6d 6f 64 20 ermap[i.*.modmap->max_keypermod.
18860 2b 20 6a 5d 20 3d 3d 20 58 4b 65 79 73 79 6d 54 6f 4b 65 79 63 6f 64 65 28 64 73 70 6c 79 2c 20 +.j].==.XKeysymToKeycode(dsply,.
18880 58 4b 5f 4e 75 6d 5f 4c 6f 63 6b 29 29 0a 09 09 09 7b 0a 09 09 09 09 6e 75 6d 6c 6f 63 6b 6d 61 XK_Num_Lock))....{.....numlockma
188a0 73 6b 20 3d 20 28 31 20 3c 3c 20 69 29 3b 0a 23 69 66 64 65 66 20 44 45 42 55 47 0a 09 09 09 09 sk.=.(1.<<.i);.#ifdef.DEBUG.....
188c0 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 73 65 74 75 70 5f 64 69 73 70 6c 61 79 28 29 fprintf(stderr,."setup_display()
188e0 20 3a 20 58 4b 5f 4e 75 6d 5f 4c 6f 63 6b 20 69 73 20 28 31 3c 3c 30 78 25 30 32 78 29 5c 6e 22 .:.XK_Num_Lock.is.(1<<0x%02x)\n"
18900 2c 20 69 29 3b 0a 23 65 6e 64 69 66 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 09 58 46 72 65 65 28 ,.i);.#endif....}...}..}..XFree(
18920 6d 6f 64 6d 61 70 29 3b 0a 0a 09 67 76 2e 66 75 6e 63 74 69 6f 6e 20 3d 20 47 58 63 6f 70 79 3b modmap);...gv.function.=.GXcopy;
18940 0a 0a 09 67 76 2e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 62 6f 72 64 65 72 5f 63 6f 6c 2e 70 69 ...gv.foreground.=.border_col.pi
18960 78 65 6c 3b 0a 09 67 76 2e 6c 69 6e 65 5f 77 69 64 74 68 20 3d 20 44 45 46 5f 42 4f 52 44 45 52 xel;..gv.line_width.=.DEF_BORDER
18980 57 49 44 54 48 3b 0a 09 62 6f 72 64 65 72 5f 67 63 20 3d 20 58 43 72 65 61 74 65 47 43 28 64 73 WIDTH;..border_gc.=.XCreateGC(ds
189a0 70 6c 79 2c 20 72 6f 6f 74 2c 20 47 43 46 75 6e 63 74 69 6f 6e 7c 47 43 46 6f 72 65 67 72 6f 75 ply,.root,.GCFunction|GCForegrou
189c0 6e 64 7c 47 43 4c 69 6e 65 57 69 64 74 68 2c 20 26 67 76 29 3b 0a 0a 09 67 76 2e 66 6f 72 65 67 nd|GCLineWidth,.&gv);...gv.foreg
189e0 72 6f 75 6e 64 20 3d 20 74 65 78 74 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 67 76 2e 6c 69 6e 65 round.=.text_col.pixel;..gv.line
18a00 5f 77 69 64 74 68 20 3d 20 31 3b 0a 0a 23 69 66 64 65 66 20 58 46 54 0a 09 74 65 78 74 5f 67 63 _width.=.1;..#ifdef.XFT..text_gc
18a20 20 3d 20 58 43 72 65 61 74 65 47 43 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 47 43 46 75 6e 63 .=.XCreateGC(dsply,.root,.GCFunc
18a40 74 69 6f 6e 7c 47 43 46 6f 72 65 67 72 6f 75 6e 64 2c 20 26 67 76 29 3b 0a 23 65 6c 73 65 0a 09 tion|GCForeground,.&gv);.#else..
18a60 67 76 2e 66 6f 6e 74 20 3d 20 66 6f 6e 74 2d 3e 66 69 64 3b 0a 09 74 65 78 74 5f 67 63 20 3d 20 gv.font.=.font->fid;..text_gc.=.
18a80 58 43 72 65 61 74 65 47 43 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 47 43 46 75 6e 63 74 69 6f XCreateGC(dsply,.root,.GCFunctio
18aa0 6e 7c 47 43 46 6f 72 65 67 72 6f 75 6e 64 7c 47 43 46 6f 6e 74 2c 20 26 67 76 29 3b 0a 23 65 6e n|GCForeground|GCFont,.&gv);.#en
18ac0 64 69 66 0a 0a 09 67 76 2e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 61 63 74 69 76 65 5f 63 6f 6c dif...gv.foreground.=.active_col
18ae0 2e 70 69 78 65 6c 3b 0a 09 61 63 74 69 76 65 5f 67 63 20 3d 20 58 43 72 65 61 74 65 47 43 28 64 .pixel;..active_gc.=.XCreateGC(d
18b00 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 47 43 46 75 6e 63 74 69 6f 6e 7c 47 43 46 6f 72 65 67 72 6f sply,.root,.GCFunction|GCForegro
18b20 75 6e 64 2c 20 26 67 76 29 3b 0a 0a 09 67 76 2e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 64 65 70 und,.&gv);...gv.foreground.=.dep
18b40 72 65 73 73 65 64 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 64 65 70 72 65 73 73 65 64 5f 67 63 20 ressed_col.pixel;..depressed_gc.
18b60 3d 20 58 43 72 65 61 74 65 47 43 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 47 43 46 75 6e 63 74 =.XCreateGC(dsply,.root,.GCFunct
18b80 69 6f 6e 7c 47 43 46 6f 72 65 67 72 6f 75 6e 64 2c 20 26 67 76 29 3b 0a 0a 09 67 76 2e 66 6f 72 ion|GCForeground,.&gv);...gv.for
18ba0 65 67 72 6f 75 6e 64 20 3d 20 69 6e 61 63 74 69 76 65 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 69 eground.=.inactive_col.pixel;..i
18bc0 6e 61 63 74 69 76 65 5f 67 63 20 3d 20 58 43 72 65 61 74 65 47 43 28 64 73 70 6c 79 2c 20 72 6f nactive_gc.=.XCreateGC(dsply,.ro
18be0 6f 74 2c 20 47 43 46 75 6e 63 74 69 6f 6e 7c 47 43 46 6f 72 65 67 72 6f 75 6e 64 2c 20 26 67 76 ot,.GCFunction|GCForeground,.&gv
18c00 29 3b 0a 0a 09 67 76 2e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 6d 65 6e 75 5f 63 6f 6c 2e 70 69 );...gv.foreground.=.menu_col.pi
18c20 78 65 6c 3b 0a 09 6d 65 6e 75 5f 67 63 20 3d 20 58 43 72 65 61 74 65 47 43 28 64 73 70 6c 79 2c xel;..menu_gc.=.XCreateGC(dsply,
18c40 20 72 6f 6f 74 2c 20 47 43 46 75 6e 63 74 69 6f 6e 7c 47 43 46 6f 72 65 67 72 6f 75 6e 64 2c 20 .root,.GCFunction|GCForeground,.
18c60 26 67 76 29 3b 0a 0a 09 67 76 2e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 73 65 6c 65 63 74 65 64 &gv);...gv.foreground.=.selected
18c80 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 73 65 6c 65 63 74 65 64 5f 67 63 20 3d 20 58 43 72 65 61 _col.pixel;..selected_gc.=.XCrea
18ca0 74 65 47 43 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 47 43 46 75 6e 63 74 69 6f 6e 7c 47 43 46 teGC(dsply,.root,.GCFunction|GCF
18cc0 6f 72 65 67 72 6f 75 6e 64 2c 20 26 67 76 29 3b 0a 0a 09 67 76 2e 66 6f 72 65 67 72 6f 75 6e 64 oreground,.&gv);...gv.foreground
18ce0 20 3d 20 65 6d 70 74 79 5f 63 6f 6c 2e 70 69 78 65 6c 3b 0a 09 65 6d 70 74 79 5f 67 63 20 3d 20 .=.empty_col.pixel;..empty_gc.=.
18d00 58 43 72 65 61 74 65 47 43 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 47 43 46 75 6e 63 74 69 6f XCreateGC(dsply,.root,.GCFunctio
18d20 6e 7c 47 43 46 6f 72 65 67 72 6f 75 6e 64 2c 20 26 67 76 29 3b 0a 0a 09 73 61 74 74 72 2e 65 76 n|GCForeground,.&gv);...sattr.ev
18d40 65 6e 74 5f 6d 61 73 6b 20 3d 20 43 68 69 6c 64 4d 61 73 6b 7c 43 6f 6c 6f 72 6d 61 70 43 68 61 ent_mask.=.ChildMask|ColormapCha
18d60 6e 67 65 4d 61 73 6b 7c 42 75 74 74 6f 6e 4d 61 73 6b 3b 0a 09 58 43 68 61 6e 67 65 57 69 6e 64 ngeMask|ButtonMask;..XChangeWind
18d80 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 73 70 6c 79 2c 20 72 6f 6f 74 2c 20 43 57 45 76 65 6e owAttributes(dsply,.root,.CWEven
18da0 74 4d 61 73 6b 2c 20 26 73 61 74 74 72 29 3b 0a 0a 09 67 72 61 62 5f 6b 65 79 73 79 6d 28 72 6f tMask,.&sattr);...grab_keysym(ro
18dc0 6f 74 2c 20 4d 4f 44 49 46 49 45 52 2c 20 4b 45 59 5f 43 59 43 4c 45 50 52 45 56 29 3b 0a 09 67 ot,.MODIFIER,.KEY_CYCLEPREV);..g
18de0 72 61 62 5f 6b 65 79 73 79 6d 28 72 6f 6f 74 2c 20 4d 4f 44 49 46 49 45 52 2c 20 4b 45 59 5f 43 rab_keysym(root,.MODIFIER,.KEY_C
18e00 59 43 4c 45 4e 45 58 54 29 3b 0a 09 67 72 61 62 5f 6b 65 79 73 79 6d 28 72 6f 6f 74 2c 20 4d 4f YCLENEXT);..grab_keysym(root,.MO
18e20 44 49 46 49 45 52 2c 20 4b 45 59 5f 46 55 4c 4c 53 43 52 45 45 4e 29 3b 0a 09 67 72 61 62 5f 6b DIFIER,.KEY_FULLSCREEN);..grab_k
18e40 65 79 73 79 6d 28 72 6f 6f 74 2c 20 4d 4f 44 49 46 49 45 52 2c 20 4b 45 59 5f 54 4f 47 47 4c 45 eysym(root,.MODIFIER,.KEY_TOGGLE
18e60 5a 29 3b 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Z);.}...........................
18e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19000 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 65 76 65 6e 74 73 2e 63 00 00 00 00 00 00 00 00 00 windowlab-1.40/events.c.........
19020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
19080 30 30 33 36 35 32 32 00 31 31 33 35 36 31 35 35 32 36 36 00 30 31 33 35 35 30 00 20 30 00 00 00 0036522.11356155266.013550..0...
190a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
190c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
190e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19100 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
19120 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
19140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19200 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
19220 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
19240 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
19260 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
19280 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
192a0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
192c0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
192e0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
19300 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
19320 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
19340 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
19360 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
19380 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
193a0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
193c0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
193e0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
19400 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
19420 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
19440 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
19460 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
19480 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
194a0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
194c0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
194e0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
19500 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
19520 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
19540 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 10-1301,.USA...*/..#include.<X11
19560 2f 58 61 74 6f 6d 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 64 6f 77 6c 61 62 2e 68 22 /Xatom.h>.#include."windowlab.h"
19580 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 6b 65 79 5f 70 72 65 73 73 28 58 ..static.void.handle_key_press(X
195a0 4b 65 79 45 76 65 6e 74 20 2a 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f KeyEvent.*);.static.void.handle_
195c0 62 75 74 74 6f 6e 5f 70 72 65 73 73 28 58 42 75 74 74 6f 6e 45 76 65 6e 74 20 2a 29 3b 0a 73 74 button_press(XButtonEvent.*);.st
195e0 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 77 69 6e 64 6f 77 62 61 72 5f 63 6c 69 63 6b atic.void.handle_windowbar_click
19600 28 58 42 75 74 74 6f 6e 45 76 65 6e 74 20 2a 2c 20 43 6c 69 65 6e 74 20 2a 29 3b 0a 73 74 61 74 (XButtonEvent.*,.Client.*);.stat
19620 69 63 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 6f 78 5f 63 6c 69 63 6b 65 64 28 43 6c 69 65 ic.unsigned.int.box_clicked(Clie
19640 6e 74 20 2a 2c 20 69 6e 74 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 62 75 74 nt.*,.int);.static.void.draw_but
19660 74 6f 6e 28 43 6c 69 65 6e 74 20 2a 2c 20 47 43 20 2a 2c 20 47 43 20 2a 2c 20 75 6e 73 69 67 6e ton(Client.*,.GC.*,.GC.*,.unsign
19680 65 64 20 69 6e 74 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 63 6f 6e 66 ed.int);.static.void.handle_conf
196a0 69 67 75 72 65 5f 72 65 71 75 65 73 74 28 58 43 6f 6e 66 69 67 75 72 65 52 65 71 75 65 73 74 45 igure_request(XConfigureRequestE
196c0 76 65 6e 74 20 2a 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 6d 61 70 5f vent.*);.static.void.handle_map_
196e0 72 65 71 75 65 73 74 28 58 4d 61 70 52 65 71 75 65 73 74 45 76 65 6e 74 20 2a 29 3b 0a 73 74 61 request(XMapRequestEvent.*);.sta
19700 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 75 6e 6d 61 70 5f 65 76 65 6e 74 28 58 55 6e 6d tic.void.handle_unmap_event(XUnm
19720 61 70 45 76 65 6e 74 20 2a 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 64 apEvent.*);.static.void.handle_d
19740 65 73 74 72 6f 79 5f 65 76 65 6e 74 28 58 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 45 76 65 6e 74 estroy_event(XDestroyWindowEvent
19760 20 2a 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 63 6c 69 65 6e 74 5f 6d .*);.static.void.handle_client_m
19780 65 73 73 61 67 65 28 58 43 6c 69 65 6e 74 4d 65 73 73 61 67 65 45 76 65 6e 74 20 2a 29 3b 0a 73 essage(XClientMessageEvent.*);.s
197a0 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 70 72 6f 70 65 72 74 79 5f 63 68 61 6e 67 tatic.void.handle_property_chang
197c0 65 28 58 50 72 6f 70 65 72 74 79 45 76 65 6e 74 20 2a 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 e(XPropertyEvent.*);.static.void
197e0 20 68 61 6e 64 6c 65 5f 65 6e 74 65 72 5f 65 76 65 6e 74 28 58 43 72 6f 73 73 69 6e 67 45 76 65 .handle_enter_event(XCrossingEve
19800 6e 74 20 2a 29 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 63 6f 6c 6f 72 6d nt.*);.static.void.handle_colorm
19820 61 70 5f 63 68 61 6e 67 65 28 58 43 6f 6c 6f 72 6d 61 70 45 76 65 6e 74 20 2a 29 3b 0a 73 74 61 ap_change(XColormapEvent.*);.sta
19840 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 65 78 70 6f 73 65 5f 65 76 65 6e 74 28 58 45 78 tic.void.handle_expose_event(XEx
19860 70 6f 73 65 45 76 65 6e 74 20 2a 29 3b 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 73 74 61 74 69 poseEvent.*);.#ifdef.SHAPE.stati
19880 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 73 68 61 70 65 5f 63 68 61 6e 67 65 28 58 53 68 61 70 c.void.handle_shape_change(XShap
198a0 65 45 76 65 6e 74 20 2a 29 3b 0a 23 65 6e 64 69 66 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 69 6e eEvent.*);.#endif..static.int.in
198c0 74 65 72 72 75 70 74 69 62 6c 65 5f 58 4e 65 78 74 45 76 65 6e 74 28 58 45 76 65 6e 74 20 2a 65 terruptible_XNextEvent(XEvent.*e
198e0 76 65 6e 74 29 3b 0a 0a 2f 2a 20 57 65 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 70 75 74 20 69 6e vent);../*.We.may.want.to.put.in
19900 20 73 6f 6d 65 20 73 6f 72 74 20 6f 66 20 63 68 65 63 6b 20 66 6f 72 20 75 6e 6b 6e 6f 77 6e 20 .some.sort.of.check.for.unknown.
19920 65 76 65 6e 74 73 20 61 74 20 73 6f 6d 65 0a 20 2a 20 70 6f 69 6e 74 2e 20 54 57 4d 20 68 61 73 events.at.some..*.point..TWM.has
19940 20 61 6e 20 69 6e 74 65 72 65 73 74 69 6e 67 20 61 6e 64 20 64 69 66 66 65 72 65 6e 74 20 77 61 .an.interesting.and.different.wa
19960 79 20 6f 66 20 64 6f 69 6e 67 20 74 68 69 73 2e 2e 2e 20 2a 2f 0a 0a 76 6f 69 64 20 64 6f 5f 65 y.of.doing.this....*/..void.do_e
19980 76 65 6e 74 5f 6c 6f 6f 70 28 76 6f 69 64 29 0a 7b 0a 09 58 45 76 65 6e 74 20 65 76 3b 0a 0a 09 vent_loop(void).{..XEvent.ev;...
199a0 66 6f 72 20 28 3b 3b 29 0a 09 7b 0a 09 09 69 6e 74 65 72 72 75 70 74 69 62 6c 65 5f 58 4e 65 78 for.(;;)..{...interruptible_XNex
199c0 74 45 76 65 6e 74 28 26 65 76 29 3b 0a 23 69 66 64 65 66 20 44 45 42 55 47 0a 09 09 73 68 6f 77 tEvent(&ev);.#ifdef.DEBUG...show
199e0 5f 65 76 65 6e 74 28 65 76 29 3b 0a 23 65 6e 64 69 66 0a 09 09 2f 2a 20 63 68 65 63 6b 20 74 6f _event(ev);.#endif.../*.check.to
19a00 20 73 65 65 20 69 66 20 6d 65 6e 75 20 72 65 62 75 69 6c 64 20 68 61 73 20 62 65 65 6e 20 72 65 .see.if.menu.rebuild.has.been.re
19a20 71 75 65 73 74 65 64 20 2a 2f 0a 09 09 69 66 20 28 64 6f 5f 6d 65 6e 75 69 74 65 6d 73 29 0a 09 quested.*/...if.(do_menuitems)..
19a40 09 7b 0a 09 09 09 66 72 65 65 5f 6d 65 6e 75 69 74 65 6d 73 28 29 3b 0a 09 09 09 67 65 74 5f 6d .{....free_menuitems();....get_m
19a60 65 6e 75 69 74 65 6d 73 28 29 3b 0a 09 09 7d 0a 0a 09 09 73 77 69 74 63 68 20 28 65 76 2e 74 79 enuitems();...}....switch.(ev.ty
19a80 70 65 29 0a 09 09 7b 0a 09 09 09 63 61 73 65 20 4b 65 79 50 72 65 73 73 3a 0a 09 09 09 09 68 61 pe)...{....case.KeyPress:.....ha
19aa0 6e 64 6c 65 5f 6b 65 79 5f 70 72 65 73 73 28 26 65 76 2e 78 6b 65 79 29 3b 0a 09 09 09 09 62 72 ndle_key_press(&ev.xkey);.....br
19ac0 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 42 75 74 74 6f 6e 50 72 65 73 73 3a 0a 09 09 09 09 68 61 eak;....case.ButtonPress:.....ha
19ae0 6e 64 6c 65 5f 62 75 74 74 6f 6e 5f 70 72 65 73 73 28 26 65 76 2e 78 62 75 74 74 6f 6e 29 3b 0a ndle_button_press(&ev.xbutton);.
19b00 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 43 6f 6e 66 69 67 75 72 65 52 65 71 75 ....break;....case.ConfigureRequ
19b20 65 73 74 3a 0a 09 09 09 09 68 61 6e 64 6c 65 5f 63 6f 6e 66 69 67 75 72 65 5f 72 65 71 75 65 73 est:.....handle_configure_reques
19b40 74 28 26 65 76 2e 78 63 6f 6e 66 69 67 75 72 65 72 65 71 75 65 73 74 29 3b 0a 09 09 09 09 62 72 t(&ev.xconfigurerequest);.....br
19b60 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 4d 61 70 52 65 71 75 65 73 74 3a 0a 09 09 09 09 68 61 6e eak;....case.MapRequest:.....han
19b80 64 6c 65 5f 6d 61 70 5f 72 65 71 75 65 73 74 28 26 65 76 2e 78 6d 61 70 72 65 71 75 65 73 74 29 dle_map_request(&ev.xmaprequest)
19ba0 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 55 6e 6d 61 70 4e 6f 74 69 66 79 ;.....break;....case.UnmapNotify
19bc0 3a 0a 09 09 09 09 68 61 6e 64 6c 65 5f 75 6e 6d 61 70 5f 65 76 65 6e 74 28 26 65 76 2e 78 75 6e :.....handle_unmap_event(&ev.xun
19be0 6d 61 70 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 44 65 73 74 72 6f 79 map);.....break;....case.Destroy
19c00 4e 6f 74 69 66 79 3a 0a 09 09 09 09 68 61 6e 64 6c 65 5f 64 65 73 74 72 6f 79 5f 65 76 65 6e 74 Notify:.....handle_destroy_event
19c20 28 26 65 76 2e 78 64 65 73 74 72 6f 79 77 69 6e 64 6f 77 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b (&ev.xdestroywindow);.....break;
19c40 0a 09 09 09 63 61 73 65 20 43 6c 69 65 6e 74 4d 65 73 73 61 67 65 3a 0a 09 09 09 09 68 61 6e 64 ....case.ClientMessage:.....hand
19c60 6c 65 5f 63 6c 69 65 6e 74 5f 6d 65 73 73 61 67 65 28 26 65 76 2e 78 63 6c 69 65 6e 74 29 3b 0a le_client_message(&ev.xclient);.
19c80 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 43 6f 6c 6f 72 6d 61 70 4e 6f 74 69 66 ....break;....case.ColormapNotif
19ca0 79 3a 0a 09 09 09 09 68 61 6e 64 6c 65 5f 63 6f 6c 6f 72 6d 61 70 5f 63 68 61 6e 67 65 28 26 65 y:.....handle_colormap_change(&e
19cc0 76 2e 78 63 6f 6c 6f 72 6d 61 70 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 v.xcolormap);.....break;....case
19ce0 20 50 72 6f 70 65 72 74 79 4e 6f 74 69 66 79 3a 0a 09 09 09 09 68 61 6e 64 6c 65 5f 70 72 6f 70 .PropertyNotify:.....handle_prop
19d00 65 72 74 79 5f 63 68 61 6e 67 65 28 26 65 76 2e 78 70 72 6f 70 65 72 74 79 29 3b 0a 09 09 09 09 erty_change(&ev.xproperty);.....
19d20 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 45 6e 74 65 72 4e 6f 74 69 66 79 3a 0a 09 09 09 09 break;....case.EnterNotify:.....
19d40 68 61 6e 64 6c 65 5f 65 6e 74 65 72 5f 65 76 65 6e 74 28 26 65 76 2e 78 63 72 6f 73 73 69 6e 67 handle_enter_event(&ev.xcrossing
19d60 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 45 78 70 6f 73 65 3a 0a 09 09 );.....break;....case.Expose:...
19d80 09 09 68 61 6e 64 6c 65 5f 65 78 70 6f 73 65 5f 65 76 65 6e 74 28 26 65 76 2e 78 65 78 70 6f 73 ..handle_expose_event(&ev.xexpos
19da0 65 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 09 09 09 64 e);.....break;.#ifdef.SHAPE....d
19dc0 65 66 61 75 6c 74 3a 0a 09 09 09 09 69 66 20 28 73 68 61 70 65 20 26 26 20 65 76 2e 74 79 70 65 efault:.....if.(shape.&&.ev.type
19de0 20 3d 3d 20 73 68 61 70 65 5f 65 76 65 6e 74 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 68 61 6e 64 .==.shape_event).....{......hand
19e00 6c 65 5f 73 68 61 70 65 5f 63 68 61 6e 67 65 28 28 58 53 68 61 70 65 45 76 65 6e 74 20 2a 29 26 le_shape_change((XShapeEvent.*)&
19e20 65 76 29 3b 0a 09 09 09 09 7d 0a 23 65 6e 64 69 66 0a 09 09 7d 0a 09 7d 0a 7d 0a 0a 73 74 61 74 ev);.....}.#endif...}..}.}..stat
19e40 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 6b 65 79 5f 70 72 65 73 73 28 58 4b 65 79 45 76 65 ic.void.handle_key_press(XKeyEve
19e60 6e 74 20 2a 65 29 0a 7b 0a 09 4b 65 79 53 79 6d 20 6b 65 79 20 3d 20 58 4b 65 79 63 6f 64 65 54 nt.*e).{..KeySym.key.=.XKeycodeT
19e80 6f 4b 65 79 73 79 6d 28 64 73 70 6c 79 2c 20 65 2d 3e 6b 65 79 63 6f 64 65 2c 20 30 29 3b 0a 09 oKeysym(dsply,.e->keycode,.0);..
19ea0 73 77 69 74 63 68 20 28 6b 65 79 29 0a 09 7b 0a 09 09 63 61 73 65 20 4b 45 59 5f 43 59 43 4c 45 switch.(key)..{...case.KEY_CYCLE
19ec0 50 52 45 56 3a 0a 09 09 09 63 79 63 6c 65 5f 70 72 65 76 69 6f 75 73 28 29 3b 0a 09 09 09 62 72 PREV:....cycle_previous();....br
19ee0 65 61 6b 3b 0a 09 09 63 61 73 65 20 4b 45 59 5f 43 59 43 4c 45 4e 45 58 54 3a 0a 09 09 09 63 79 eak;...case.KEY_CYCLENEXT:....cy
19f00 63 6c 65 5f 6e 65 78 74 28 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 4b 45 59 cle_next();....break;...case.KEY
19f20 5f 46 55 4c 4c 53 43 52 45 45 4e 3a 0a 09 09 09 74 6f 67 67 6c 65 5f 66 75 6c 6c 73 63 72 65 65 _FULLSCREEN:....toggle_fullscree
19f40 6e 28 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 n(focused_client);....break;...c
19f60 61 73 65 20 4b 45 59 5f 54 4f 47 47 4c 45 5a 3a 0a 09 09 09 72 61 69 73 65 5f 6c 6f 77 65 72 28 ase.KEY_TOGGLEZ:....raise_lower(
19f80 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 7d 0a 7d 0a focused_client);....break;..}.}.
19fa0 0a 2f 2a 20 53 6f 6d 65 6f 6e 65 20 63 6c 69 63 6b 65 64 20 61 20 62 75 74 74 6f 6e 2e 20 49 66 ./*.Someone.clicked.a.button..If
19fc0 20 69 74 20 77 61 73 20 6f 6e 20 74 68 65 20 72 6f 6f 74 2c 20 77 65 20 67 65 74 20 74 68 65 20 .it.was.on.the.root,.we.get.the.
19fe0 63 6c 69 63 6b 0a 20 2a 20 62 79 20 64 65 66 61 75 6c 74 2e 20 49 66 20 69 74 27 73 20 6f 6e 20 click..*.by.default..If.it's.on.
1a000 61 20 77 69 6e 64 6f 77 20 66 72 61 6d 65 2c 20 77 65 20 67 65 74 20 69 74 20 61 73 20 77 65 6c a.window.frame,.we.get.it.as.wel
1a020 6c 2e 20 49 66 20 69 74 27 73 0a 20 2a 20 6f 6e 20 61 20 63 6c 69 65 6e 74 20 77 69 6e 64 6f 77 l..If.it's..*.on.a.client.window
1a040 2c 20 69 74 20 6d 61 79 20 73 74 69 6c 6c 20 66 61 6c 6c 20 74 68 72 6f 75 67 68 20 74 6f 20 75 ,.it.may.still.fall.through.to.u
1a060 73 20 69 66 20 74 68 65 20 63 6c 69 65 6e 74 0a 20 2a 20 64 6f 65 73 6e 27 74 20 73 65 6c 65 63 s.if.the.client..*.doesn't.selec
1a080 74 20 66 6f 72 20 6d 6f 75 73 65 2d 63 6c 69 63 6b 20 65 76 65 6e 74 73 2e 20 2a 2f 0a 0a 73 74 t.for.mouse-click.events..*/..st
1a0a0 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 62 75 74 74 6f 6e 5f 70 72 65 73 73 28 58 42 atic.void.handle_button_press(XB
1a0c0 75 74 74 6f 6e 45 76 65 6e 74 20 2a 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 3b 0a 0a 09 69 uttonEvent.*e).{..Client.*c;...i
1a0e0 66 20 28 65 2d 3e 73 74 61 74 65 20 26 20 4d 4f 44 49 46 49 45 52 29 0a 09 7b 0a 09 09 69 66 20 f.(e->state.&.MODIFIER)..{...if.
1a100 28 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 20 21 3d 20 4e 55 4c 4c 20 26 26 20 66 6f 63 75 73 (focused_client.!=.NULL.&&.focus
1a120 65 64 5f 63 6c 69 65 6e 74 20 21 3d 20 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 29 0a ed_client.!=.fullscreen_client).
1a140 09 09 7b 0a 09 09 09 72 65 73 69 7a 65 28 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 2c 20 65 2d ..{....resize(focused_client,.e-
1a160 3e 78 5f 72 6f 6f 74 2c 20 65 2d 3e 79 5f 72 6f 6f 74 29 3b 0a 09 09 7d 0a 09 09 65 6c 73 65 0a >x_root,.e->y_root);...}...else.
1a180 09 09 7b 0a 09 09 09 2f 2f 20 70 61 73 73 20 65 76 65 6e 74 20 6f 6e 0a 09 09 09 58 41 6c 6c 6f ..{....//.pass.event.on....XAllo
1a1a0 77 45 76 65 6e 74 73 28 64 73 70 6c 79 2c 20 52 65 70 6c 61 79 50 6f 69 6e 74 65 72 2c 20 43 75 wEvents(dsply,.ReplayPointer,.Cu
1a1c0 72 72 65 6e 74 54 69 6d 65 29 3b 0a 09 09 7d 0a 09 7d 0a 09 65 6c 73 65 20 69 66 20 28 65 2d 3e rrentTime);...}..}..else.if.(e->
1a1e0 77 69 6e 64 6f 77 20 3d 3d 20 72 6f 6f 74 29 0a 09 7b 0a 23 69 66 64 65 66 20 44 45 42 55 47 0a window.==.root)..{.#ifdef.DEBUG.
1a200 09 09 64 75 6d 70 5f 63 6c 69 65 6e 74 73 28 29 3b 0a 23 65 6e 64 69 66 0a 09 09 69 66 20 28 65 ..dump_clients();.#endif...if.(e
1a220 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 33 29 0a 09 09 7b 0a 09 09 09 72 63 6c 69 ->button.==.Button3)...{....rcli
1a240 63 6b 5f 72 6f 6f 74 28 29 3b 0a 09 09 7d 0a 09 7d 0a 09 65 6c 73 65 20 69 66 20 28 65 2d 3e 77 ck_root();...}..}..else.if.(e->w
1a260 69 6e 64 6f 77 20 3d 3d 20 74 61 73 6b 62 61 72 29 0a 09 7b 0a 09 09 73 77 69 74 63 68 20 28 65 indow.==.taskbar)..{...switch.(e
1a280 2d 3e 62 75 74 74 6f 6e 29 0a 09 09 7b 0a 09 09 09 63 61 73 65 20 42 75 74 74 6f 6e 31 3a 20 2f ->button)...{....case.Button1:./
1a2a0 2f 20 6c 65 66 74 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0a 09 09 09 09 6c 63 6c 69 63 6b 5f 74 /.left.mouse.button.....lclick_t
1a2c0 61 73 6b 62 61 72 28 65 2d 3e 78 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 askbar(e->x);.....break;....case
1a2e0 20 42 75 74 74 6f 6e 33 3a 20 2f 2f 20 72 69 67 68 74 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0a .Button3:.//.right.mouse.button.
1a300 09 09 09 09 72 63 6c 69 63 6b 5f 74 61 73 6b 62 61 72 28 65 2d 3e 78 29 3b 0a 09 09 09 09 62 72 ....rclick_taskbar(e->x);.....br
1a320 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 42 75 74 74 6f 6e 34 3a 20 2f 2f 20 6d 6f 75 73 65 20 77 eak;....case.Button4:.//.mouse.w
1a340 68 65 65 6c 20 75 70 0a 09 09 09 09 63 79 63 6c 65 5f 70 72 65 76 69 6f 75 73 28 29 3b 0a 09 09 heel.up.....cycle_previous();...
1a360 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 42 75 74 74 6f 6e 35 3a 20 2f 2f 20 6d 6f 75 ..break;....case.Button5:.//.mou
1a380 73 65 20 77 68 65 65 6c 20 64 6f 77 6e 0a 09 09 09 09 63 79 63 6c 65 5f 6e 65 78 74 28 29 3b 0a se.wheel.down.....cycle_next();.
1a3a0 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 7d 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 2f 2f 20 ....break;...}..}..else..{...//.
1a3c0 70 61 73 73 20 65 76 65 6e 74 20 6f 6e 0a 09 09 58 41 6c 6c 6f 77 45 76 65 6e 74 73 28 64 73 70 pass.event.on...XAllowEvents(dsp
1a3e0 6c 79 2c 20 52 65 70 6c 61 79 50 6f 69 6e 74 65 72 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b ly,.ReplayPointer,.CurrentTime);
1a400 0a 09 09 69 66 20 28 65 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 31 29 0a 09 09 7b ...if.(e->button.==.Button1)...{
1a420 0a 09 09 09 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e 77 69 6e 64 6f 77 2c 20 46 ....c.=.find_client(e->window,.F
1a440 52 41 4d 45 29 3b 0a 09 09 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 09 09 7b 0a 09 09 RAME);....if.(c.!=.NULL)....{...
1a460 09 09 2f 2f 20 63 6c 69 63 6b 2d 74 6f 2d 66 6f 63 75 73 0a 09 09 09 09 63 68 65 63 6b 5f 66 6f ..//.click-to-focus.....check_fo
1a480 63 75 73 28 63 29 3b 0a 09 09 09 09 69 66 20 28 65 2d 3e 79 20 3c 20 42 41 52 48 45 49 47 48 54 cus(c);.....if.(e->y.<.BARHEIGHT
1a4a0 28 29 20 26 26 20 63 20 21 3d 20 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 29 0a 09 09 ().&&.c.!=.fullscreen_client)...
1a4c0 09 09 7b 0a 09 09 09 09 09 68 61 6e 64 6c 65 5f 77 69 6e 64 6f 77 62 61 72 5f 63 6c 69 63 6b 28 ..{......handle_windowbar_click(
1a4e0 65 2c 20 63 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 65 6c 73 65 20 69 66 20 e,.c);.....}....}...}...else.if.
1a500 28 65 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 33 29 0a 09 09 7b 0a 09 09 09 72 63 (e->button.==.Button3)...{....rc
1a520 6c 69 63 6b 5f 72 6f 6f 74 28 29 3b 0a 09 09 7d 0a 09 7d 0a 7d 0a 0a 73 74 61 74 69 63 20 76 6f lick_root();...}..}.}..static.vo
1a540 69 64 20 68 61 6e 64 6c 65 5f 77 69 6e 64 6f 77 62 61 72 5f 63 6c 69 63 6b 28 58 42 75 74 74 6f id.handle_windowbar_click(XButto
1a560 6e 45 76 65 6e 74 20 2a 65 2c 20 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 73 74 61 74 69 63 20 nEvent.*e,.Client.*c).{..static.
1a580 43 6c 69 65 6e 74 20 2a 20 66 69 72 73 74 5f 63 6c 69 63 6b 5f 63 3b 0a 09 73 74 61 74 69 63 20 Client.*.first_click_c;..static.
1a5a0 54 69 6d 65 20 66 69 72 73 74 5f 63 6c 69 63 6b 5f 74 69 6d 65 3b 0a 09 75 6e 73 69 67 6e 65 64 Time.first_click_time;..unsigned
1a5c0 20 69 6e 74 20 69 6e 5f 62 6f 78 2c 20 69 6e 5f 62 6f 78 5f 64 6f 77 6e 2c 20 69 6e 5f 62 6f 78 .int.in_box,.in_box_down,.in_box
1a5e0 5f 75 70 3b 0a 09 69 6e 74 20 77 69 6e 5f 79 70 6f 73 3b 0a 09 58 45 76 65 6e 74 20 65 76 3b 0a _up;..int.win_ypos;..XEvent.ev;.
1a600 0a 09 69 6e 5f 62 6f 78 5f 64 6f 77 6e 20 3d 20 62 6f 78 5f 63 6c 69 63 6b 65 64 28 63 2c 20 65 ..in_box_down.=.box_clicked(c,.e
1a620 2d 3e 78 29 3b 0a 09 69 66 20 28 69 6e 5f 62 6f 78 5f 64 6f 77 6e 20 3c 3d 20 32 29 0a 09 7b 0a ->x);..if.(in_box_down.<=.2)..{.
1a640 09 09 69 66 20 28 21 67 72 61 62 28 72 6f 6f 74 2c 20 4d 6f 75 73 65 4d 61 73 6b 2c 20 4e 6f 6e ..if.(!grab(root,.MouseMask,.Non
1a660 65 29 29 0a 09 09 7b 0a 09 09 09 72 65 74 75 72 6e 3b 0a 09 09 7d 0a 0a 09 09 58 47 72 61 62 53 e))...{....return;...}....XGrabS
1a680 65 72 76 65 72 28 64 73 70 6c 79 29 3b 0a 0a 09 09 69 6e 5f 62 6f 78 20 3d 20 31 3b 0a 0a 09 09 erver(dsply);....in_box.=.1;....
1a6a0 64 72 61 77 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 74 5f 67 63 2c 20 26 64 65 70 72 65 73 draw_button(c,.&text_gc,.&depres
1a6c0 73 65 64 5f 67 63 2c 20 69 6e 5f 62 6f 78 5f 64 6f 77 6e 29 3b 0a 0a 09 09 64 6f 0a 09 09 7b 0a sed_gc,.in_box_down);....do...{.
1a6e0 09 09 09 58 4d 61 73 6b 45 76 65 6e 74 28 64 73 70 6c 79 2c 20 4d 6f 75 73 65 4d 61 73 6b 2c 20 ...XMaskEvent(dsply,.MouseMask,.
1a700 26 65 76 29 3b 0a 09 09 09 69 6e 5f 62 6f 78 5f 75 70 20 3d 20 62 6f 78 5f 63 6c 69 63 6b 65 64 &ev);....in_box_up.=.box_clicked
1a720 28 63 2c 20 65 76 2e 78 62 75 74 74 6f 6e 2e 78 20 2d 20 28 63 2d 3e 78 20 2b 20 44 45 46 5f 42 (c,.ev.xbutton.x.-.(c->x.+.DEF_B
1a740 4f 52 44 45 52 57 49 44 54 48 29 29 3b 0a 09 09 09 77 69 6e 5f 79 70 6f 73 20 3d 20 28 65 76 2e ORDERWIDTH));....win_ypos.=.(ev.
1a760 78 62 75 74 74 6f 6e 2e 79 20 2d 20 63 2d 3e 79 29 20 2b 20 42 41 52 48 45 49 47 48 54 28 29 3b xbutton.y.-.c->y).+.BARHEIGHT();
1a780 0a 09 09 09 69 66 20 28 65 76 2e 74 79 70 65 20 3d 3d 20 4d 6f 74 69 6f 6e 4e 6f 74 69 66 79 29 ....if.(ev.type.==.MotionNotify)
1a7a0 0a 09 09 09 7b 0a 09 09 09 09 69 66 20 28 28 77 69 6e 5f 79 70 6f 73 20 3c 3d 20 42 41 52 48 45 ....{.....if.((win_ypos.<=.BARHE
1a7c0 49 47 48 54 28 29 29 20 26 26 20 28 77 69 6e 5f 79 70 6f 73 20 3e 3d 20 44 45 46 5f 42 4f 52 44 IGHT()).&&.(win_ypos.>=.DEF_BORD
1a7e0 45 52 57 49 44 54 48 29 20 26 26 20 28 69 6e 5f 62 6f 78 5f 75 70 20 3d 3d 20 69 6e 5f 62 6f 78 ERWIDTH).&&.(in_box_up.==.in_box
1a800 5f 64 6f 77 6e 29 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 69 6e 5f 62 6f 78 20 3d 20 31 3b 0a 09 _down)).....{......in_box.=.1;..
1a820 09 09 09 09 64 72 61 77 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 74 5f 67 63 2c 20 26 64 65 ....draw_button(c,.&text_gc,.&de
1a840 70 72 65 73 73 65 64 5f 67 63 2c 20 69 6e 5f 62 6f 78 5f 64 6f 77 6e 29 3b 0a 09 09 09 09 7d 0a pressed_gc,.in_box_down);.....}.
1a860 09 09 09 09 65 6c 73 65 0a 09 09 09 09 7b 0a 09 09 09 09 09 69 6e 5f 62 6f 78 20 3d 20 30 3b 0a ....else.....{......in_box.=.0;.
1a880 09 09 09 09 09 64 72 61 77 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 74 5f 67 63 2c 20 26 61 .....draw_button(c,.&text_gc,.&a
1a8a0 63 74 69 76 65 5f 67 63 2c 20 69 6e 5f 62 6f 78 5f 64 6f 77 6e 29 3b 0a 09 09 09 09 7d 0a 09 09 ctive_gc,.in_box_down);.....}...
1a8c0 09 7d 0a 09 09 7d 0a 09 09 77 68 69 6c 65 20 28 65 76 2e 74 79 70 65 20 21 3d 20 42 75 74 74 6f .}...}...while.(ev.type.!=.Butto
1a8e0 6e 52 65 6c 65 61 73 65 29 3b 0a 09 09 64 72 61 77 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 nRelease);...draw_button(c,.&tex
1a900 74 5f 67 63 2c 20 26 61 63 74 69 76 65 5f 67 63 2c 20 69 6e 5f 62 6f 78 5f 64 6f 77 6e 29 3b 0a t_gc,.&active_gc,.in_box_down);.
1a920 0a 09 09 58 55 6e 67 72 61 62 53 65 72 76 65 72 28 64 73 70 6c 79 29 3b 0a 09 09 75 6e 67 72 61 ...XUngrabServer(dsply);...ungra
1a940 62 28 29 3b 0a 09 09 69 66 20 28 69 6e 5f 62 6f 78 29 0a 09 09 7b 0a 09 09 09 73 77 69 74 63 68 b();...if.(in_box)...{....switch
1a960 20 28 69 6e 5f 62 6f 78 5f 75 70 29 0a 09 09 09 7b 0a 09 09 09 09 63 61 73 65 20 30 3a 0a 09 09 .(in_box_up)....{.....case.0:...
1a980 09 09 09 73 65 6e 64 5f 77 6d 5f 64 65 6c 65 74 65 28 63 29 3b 0a 09 09 09 09 09 62 72 65 61 6b ...send_wm_delete(c);......break
1a9a0 3b 0a 09 09 09 09 63 61 73 65 20 31 3a 0a 09 09 09 09 09 72 61 69 73 65 5f 6c 6f 77 65 72 28 63 ;.....case.1:......raise_lower(c
1a9c0 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 32 3a 0a 09 09 09 09 09 );......break;.....case.2:......
1a9e0 68 69 64 65 28 63 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d hide(c);......break;....}...}..}
1aa00 0a 09 65 6c 73 65 20 69 66 20 28 69 6e 5f 62 6f 78 5f 64 6f 77 6e 20 21 3d 20 55 49 4e 54 5f 4d ..else.if.(in_box_down.!=.UINT_M
1aa20 41 58 29 0a 09 7b 0a 09 09 69 66 20 28 66 69 72 73 74 5f 63 6c 69 63 6b 5f 63 20 3d 3d 20 63 20 AX)..{...if.(first_click_c.==.c.
1aa40 26 26 20 28 65 2d 3e 74 69 6d 65 20 2d 20 66 69 72 73 74 5f 63 6c 69 63 6b 5f 74 69 6d 65 29 20 &&.(e->time.-.first_click_time).
1aa60 3c 20 44 45 46 5f 44 42 4c 43 4c 4b 54 49 4d 45 29 0a 09 09 7b 0a 09 09 09 72 61 69 73 65 5f 6c <.DEF_DBLCLKTIME)...{....raise_l
1aa80 6f 77 65 72 28 63 29 3b 0a 09 09 09 66 69 72 73 74 5f 63 6c 69 63 6b 5f 63 20 3d 20 4e 55 4c 4c ower(c);....first_click_c.=.NULL
1aaa0 3b 20 2f 2f 20 70 72 65 76 65 6e 74 20 33 72 64 20 63 6c 69 63 6b 73 20 63 6f 75 6e 74 69 6e 67 ;.//.prevent.3rd.clicks.counting
1aac0 20 61 73 20 64 6f 75 62 6c 65 20 63 6c 69 63 6b 73 0a 09 09 7d 0a 09 09 65 6c 73 65 0a 09 09 7b .as.double.clicks...}...else...{
1aae0 0a 09 09 09 66 69 72 73 74 5f 63 6c 69 63 6b 5f 63 20 3d 20 63 3b 0a 09 09 7d 0a 09 09 66 69 72 ....first_click_c.=.c;...}...fir
1ab00 73 74 5f 63 6c 69 63 6b 5f 74 69 6d 65 20 3d 20 65 2d 3e 74 69 6d 65 3b 0a 09 09 6d 6f 76 65 28 st_click_time.=.e->time;...move(
1ab20 63 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2a 20 52 65 74 75 72 6e 20 77 68 69 63 68 20 62 75 74 74 6f 6e c);..}.}../*.Return.which.button
1ab40 20 77 61 73 20 63 6c 69 63 6b 65 64 20 2d 20 74 68 69 73 20 69 73 20 61 20 6d 75 6c 74 69 70 6c .was.clicked.-.this.is.a.multipl
1ab60 65 20 6f 66 20 42 41 52 48 45 49 47 48 54 28 29 0a 20 2a 20 66 72 6f 6d 20 74 68 65 20 72 69 67 e.of.BARHEIGHT()..*.from.the.rig
1ab80 68 74 20 68 61 6e 64 20 73 69 64 65 2e 20 57 65 20 6f 6e 6c 79 20 63 61 72 65 20 61 62 6f 75 74 ht.hand.side..We.only.care.about
1aba0 20 30 2c 20 31 20 61 6e 64 20 32 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 .0,.1.and.2..*/..static.unsigned
1abc0 20 69 6e 74 20 62 6f 78 5f 63 6c 69 63 6b 65 64 28 43 6c 69 65 6e 74 20 2a 63 2c 20 69 6e 74 20 .int.box_clicked(Client.*c,.int.
1abe0 78 29 0a 7b 0a 09 69 6e 74 20 70 69 78 5f 66 72 6f 6d 5f 72 69 67 68 74 20 3d 20 63 2d 3e 77 69 x).{..int.pix_from_right.=.c->wi
1ac00 64 74 68 20 2d 20 78 3b 0a 09 69 66 20 28 70 69 78 5f 66 72 6f 6d 5f 72 69 67 68 74 20 3c 20 30 dth.-.x;..if.(pix_from_right.<.0
1ac20 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 55 49 4e 54 5f 4d 41 58 3b 20 2f 2f 20 6f 75 74 73 69 )..{...return.UINT_MAX;.//.outsi
1ac40 64 65 20 77 69 6e 64 6f 77 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 28 de.window..}..else..{...return.(
1ac60 70 69 78 5f 66 72 6f 6d 5f 72 69 67 68 74 20 2f 20 28 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 pix_from_right./.(BARHEIGHT().-.
1ac80 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 29 3b 0a 09 7d 0a 7d 0a 0a 73 74 61 74 69 63 20 DEF_BORDERWIDTH));..}.}..static.
1aca0 76 6f 69 64 20 64 72 61 77 5f 62 75 74 74 6f 6e 28 43 6c 69 65 6e 74 20 2a 63 2c 20 47 43 20 2a void.draw_button(Client.*c,.GC.*
1acc0 64 65 74 61 69 6c 5f 67 63 2c 20 47 43 20 2a 62 61 63 6b 67 72 6f 75 6e 64 5f 67 63 2c 20 75 6e detail_gc,.GC.*background_gc,.un
1ace0 73 69 67 6e 65 64 20 69 6e 74 20 77 68 69 63 68 5f 62 6f 78 29 0a 7b 0a 09 73 77 69 74 63 68 20 signed.int.which_box).{..switch.
1ad00 28 77 68 69 63 68 5f 62 6f 78 29 0a 09 7b 0a 09 09 63 61 73 65 20 30 3a 0a 09 09 09 64 72 61 77 (which_box)..{...case.0:....draw
1ad20 5f 63 6c 6f 73 65 5f 62 75 74 74 6f 6e 28 63 2c 20 64 65 74 61 69 6c 5f 67 63 2c 20 62 61 63 6b _close_button(c,.detail_gc,.back
1ad40 67 72 6f 75 6e 64 5f 67 63 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 31 3a 0a ground_gc);....break;...case.1:.
1ad60 09 09 09 64 72 61 77 5f 74 6f 67 67 6c 65 64 65 70 74 68 5f 62 75 74 74 6f 6e 28 63 2c 20 64 65 ...draw_toggledepth_button(c,.de
1ad80 74 61 69 6c 5f 67 63 2c 20 62 61 63 6b 67 72 6f 75 6e 64 5f 67 63 29 3b 0a 09 09 09 62 72 65 61 tail_gc,.background_gc);....brea
1ada0 6b 3b 0a 09 09 63 61 73 65 20 32 3a 0a 09 09 09 64 72 61 77 5f 68 69 64 65 5f 62 75 74 74 6f 6e k;...case.2:....draw_hide_button
1adc0 28 63 2c 20 64 65 74 61 69 6c 5f 67 63 2c 20 62 61 63 6b 67 72 6f 75 6e 64 5f 67 63 29 3b 0a 09 (c,.detail_gc,.background_gc);..
1ade0 09 09 62 72 65 61 6b 3b 0a 09 7d 0a 7d 0a 0a 2f 2a 20 42 65 63 61 75 73 65 20 77 65 20 61 72 65 ..break;..}.}../*.Because.we.are
1ae00 20 72 65 64 69 72 65 63 74 69 6e 67 20 74 68 65 20 72 6f 6f 74 20 77 69 6e 64 6f 77 2c 20 77 65 .redirecting.the.root.window,.we
1ae20 20 67 65 74 20 43 6f 6e 66 69 67 75 72 65 52 65 71 75 65 73 74 0a 20 2a 20 65 76 65 6e 74 73 20 .get.ConfigureRequest..*.events.
1ae40 66 72 6f 6d 20 62 6f 74 68 20 63 6c 69 65 6e 74 73 20 77 65 27 72 65 20 68 61 6e 64 6c 69 6e 67 from.both.clients.we're.handling
1ae60 20 61 6e 64 20 6f 6e 65 73 20 74 68 61 74 20 77 65 20 61 72 65 6e 27 74 2e 0a 20 2a 20 46 6f 72 .and.ones.that.we.aren't...*.For
1ae80 20 63 6c 69 65 6e 74 73 20 77 65 20 6d 61 6e 61 67 65 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 66 .clients.we.manage,.we.need.to.f
1aea0 69 64 64 6c 65 20 77 69 74 68 20 74 68 65 20 66 72 61 6d 65 20 61 6e 64 20 74 68 65 0a 20 2a 20 iddle.with.the.frame.and.the..*.
1aec0 63 6c 69 65 6e 74 20 77 69 6e 64 6f 77 2c 20 61 6e 64 20 66 6f 72 20 75 6e 6d 61 6e 61 67 65 64 client.window,.and.for.unmanaged
1aee0 20 77 69 6e 64 6f 77 73 20 77 65 20 68 61 76 65 20 74 6f 20 70 61 73 73 20 61 6c 6f 6e 67 0a 20 .windows.we.have.to.pass.along..
1af00 2a 20 65 76 65 72 79 74 68 69 6e 67 20 75 6e 63 68 61 6e 67 65 64 2e 20 54 68 61 6e 6b 66 75 6c *.everything.unchanged..Thankful
1af20 6c 79 2c 20 77 65 20 63 61 6e 20 72 65 75 73 65 20 28 61 29 20 74 68 65 0a 20 2a 20 58 57 69 6e ly,.we.can.reuse.(a).the..*.XWin
1af40 64 6f 77 43 68 61 6e 67 65 73 20 73 74 72 75 63 74 20 61 6e 64 20 28 62 29 20 74 68 65 20 63 6f dowChanges.struct.and.(b).the.co
1af60 64 65 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 63 6c 69 65 6e 74 0a 20 2a 20 77 69 de.to.configure.the.client..*.wi
1af80 6e 64 6f 77 20 69 6e 20 62 6f 74 68 20 63 61 73 65 73 2e 0a 20 2a 0a 20 2a 20 4d 6f 73 74 20 6f ndow.in.both.cases...*..*.Most.o
1afa0 66 20 74 68 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 68 65 72 65 20 61 72 65 20 67 6f 69 6e 67 f.the.assignments.here.are.going
1afc0 20 74 6f 20 62 65 20 67 61 72 62 61 67 65 2c 20 62 75 74 20 6f 6e 6c 79 20 74 68 65 0a 20 2a 20 .to.be.garbage,.but.only.the..*.
1afe0 6f 6e 65 73 20 74 68 61 74 20 61 72 65 20 6d 61 73 6b 65 64 20 69 6e 20 62 79 20 65 2d 3e 76 61 ones.that.are.masked.in.by.e->va
1b000 6c 75 65 5f 6d 61 73 6b 20 77 69 6c 6c 20 62 65 20 6c 6f 6f 6b 65 64 20 61 74 20 62 79 20 74 68 lue_mask.will.be.looked.at.by.th
1b020 65 20 58 0a 20 2a 20 73 65 72 76 65 72 2e 0a 20 2a 0a 20 2a 20 57 65 20 69 67 6e 6f 72 65 20 6d e.X..*.server...*..*.We.ignore.m
1b040 61 6e 61 67 65 64 20 63 6c 69 65 6e 74 73 20 74 68 61 74 20 77 61 6e 74 20 74 68 65 69 72 20 7a anaged.clients.that.want.their.z
1b060 2d 6f 72 64 65 72 20 63 68 61 6e 67 65 64 20 61 6e 64 0a 20 2a 20 6d 61 6e 61 67 65 64 20 66 75 -order.changed.and..*.managed.fu
1b080 6c 6c 73 63 72 65 65 6e 20 63 6c 69 65 6e 74 73 20 74 68 61 74 20 77 61 6e 74 20 74 68 65 69 72 llscreen.clients.that.want.their
1b0a0 20 73 69 7a 65 20 61 6e 64 2f 6f 72 20 70 6f 73 69 74 69 6f 6e 0a 20 2a 20 63 68 61 6e 67 65 64 .size.and/or.position..*.changed
1b0c0 20 28 65 78 63 65 70 74 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 69 72 20 73 69 7a 65 20 61 6e .(except.to.update.their.size.an
1b0e0 64 2f 6f 72 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 77 68 65 6e 0a 20 2a 20 66 75 6c 6c 73 63 d/or.position.for.when..*.fullsc
1b100 72 65 65 6e 20 6d 6f 64 65 20 69 73 20 74 6f 67 67 6c 65 64 20 6f 66 66 29 2e 20 46 72 6f 6d 20 reen.mode.is.toggled.off)..From.
1b120 77 68 61 74 20 49 20 63 61 6e 20 72 65 6d 65 6d 62 65 72 2c 20 63 6c 69 65 6e 74 73 0a 20 2a 20 what.I.can.remember,.clients..*.
1b140 61 72 65 20 73 75 70 70 6f 73 65 64 20 74 6f 20 68 61 76 65 20 62 65 65 6e 20 77 72 69 74 74 65 are.supposed.to.have.been.writte
1b160 6e 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 61 77 61 72 65 20 74 68 61 74 20 74 68 n.so.that.they.are.aware.that.th
1b180 65 69 72 0a 20 2a 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 6d eir..*.requirements.may.not.be.m
1b1a0 65 74 20 62 79 20 74 68 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 2e 20 2a 2f 0a 0a 73 74 et.by.the.window.manager..*/..st
1b1c0 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 63 6f 6e 66 69 67 75 72 65 5f 72 65 71 75 65 atic.void.handle_configure_reque
1b1e0 73 74 28 58 43 6f 6e 66 69 67 75 72 65 52 65 71 75 65 73 74 45 76 65 6e 74 20 2a 65 29 0a 7b 0a st(XConfigureRequestEvent.*e).{.
1b200 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e 77 69 6e 64 .Client.*c.=.find_client(e->wind
1b220 6f 77 2c 20 57 49 4e 44 4f 57 29 3b 0a 09 58 57 69 6e 64 6f 77 43 68 61 6e 67 65 73 20 77 63 3b ow,.WINDOW);..XWindowChanges.wc;
1b240 0a 0a 09 69 66 20 28 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 20 21 3d 20 4e 55 4c 4c ...if.(fullscreen_client.!=.NULL
1b260 20 26 26 20 63 20 3d 3d 20 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 29 0a 09 7b 0a 09 .&&.c.==.fullscreen_client)..{..
1b280 09 69 66 20 28 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 6b 20 26 20 43 57 58 29 0a 09 09 7b 0a 09 09 .if.(e->value_mask.&.CWX)...{...
1b2a0 09 66 73 5f 70 72 65 76 64 69 6d 73 2e 78 20 3d 20 65 2d 3e 78 3b 0a 09 09 7d 0a 09 09 69 66 20 .fs_prevdims.x.=.e->x;...}...if.
1b2c0 28 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 6b 20 26 20 43 57 59 29 0a 09 09 7b 0a 09 09 09 66 73 5f (e->value_mask.&.CWY)...{....fs_
1b2e0 70 72 65 76 64 69 6d 73 2e 79 20 3d 20 65 2d 3e 79 3b 0a 09 09 7d 0a 09 09 69 66 20 28 65 2d 3e prevdims.y.=.e->y;...}...if.(e->
1b300 76 61 6c 75 65 5f 6d 61 73 6b 20 26 20 43 57 57 69 64 74 68 29 0a 09 09 7b 0a 09 09 09 66 73 5f value_mask.&.CWWidth)...{....fs_
1b320 70 72 65 76 64 69 6d 73 2e 77 69 64 74 68 20 3d 20 65 2d 3e 77 69 64 74 68 3b 0a 09 09 7d 0a 09 prevdims.width.=.e->width;...}..
1b340 09 69 66 20 28 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 6b 20 26 20 43 57 48 65 69 67 68 74 29 0a 09 .if.(e->value_mask.&.CWHeight)..
1b360 09 7b 0a 09 09 09 66 73 5f 70 72 65 76 64 69 6d 73 2e 68 65 69 67 68 74 20 3d 20 65 2d 3e 68 65 .{....fs_prevdims.height.=.e->he
1b380 69 67 68 74 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 3b 0a 09 7d 0a 0a 09 69 66 20 28 63 20 21 ight;...}...return;..}...if.(c.!
1b3a0 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 67 72 61 76 69 74 61 74 65 28 63 2c 20 52 45 4d 4f 56 45 =.NULL)..{...gravitate(c,.REMOVE
1b3c0 5f 47 52 41 56 49 54 59 29 3b 0a 09 09 69 66 20 28 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 6b 20 26 _GRAVITY);...if.(e->value_mask.&
1b3e0 20 43 57 58 29 0a 09 09 7b 0a 09 09 09 63 2d 3e 78 20 3d 20 65 2d 3e 78 3b 0a 09 09 7d 0a 09 09 .CWX)...{....c->x.=.e->x;...}...
1b400 69 66 20 28 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 6b 20 26 20 43 57 59 29 0a 09 09 7b 0a 09 09 09 if.(e->value_mask.&.CWY)...{....
1b420 63 2d 3e 79 20 3d 20 65 2d 3e 79 3b 0a 09 09 7d 0a 09 09 69 66 20 28 65 2d 3e 76 61 6c 75 65 5f c->y.=.e->y;...}...if.(e->value_
1b440 6d 61 73 6b 20 26 20 43 57 57 69 64 74 68 29 0a 09 09 7b 0a 09 09 09 63 2d 3e 77 69 64 74 68 20 mask.&.CWWidth)...{....c->width.
1b460 3d 20 65 2d 3e 77 69 64 74 68 3b 0a 09 09 7d 0a 09 09 69 66 20 28 65 2d 3e 76 61 6c 75 65 5f 6d =.e->width;...}...if.(e->value_m
1b480 61 73 6b 20 26 20 43 57 48 65 69 67 68 74 29 0a 09 09 7b 0a 09 09 09 63 2d 3e 68 65 69 67 68 74 ask.&.CWHeight)...{....c->height
1b4a0 20 3d 20 65 2d 3e 68 65 69 67 68 74 3b 0a 09 09 7d 0a 09 09 72 65 66 69 78 5f 70 6f 73 69 74 69 .=.e->height;...}...refix_positi
1b4c0 6f 6e 28 63 2c 20 65 29 3b 0a 09 09 67 72 61 76 69 74 61 74 65 28 63 2c 20 41 50 50 4c 59 5f 47 on(c,.e);...gravitate(c,.APPLY_G
1b4e0 52 41 56 49 54 59 29 3b 0a 09 09 2f 2f 20 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 66 72 61 6d RAVITY);...//.configure.the.fram
1b500 65 0a 09 09 77 63 2e 78 20 3d 20 63 2d 3e 78 3b 0a 09 09 77 63 2e 79 20 3d 20 63 2d 3e 79 20 2d e...wc.x.=.c->x;...wc.y.=.c->y.-
1b520 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 09 77 63 2e 77 69 64 74 68 20 3d 20 63 2d 3e 77 69 .BARHEIGHT();...wc.width.=.c->wi
1b540 64 74 68 3b 0a 09 09 77 63 2e 68 65 69 67 68 74 20 3d 20 63 2d 3e 68 65 69 67 68 74 20 2b 20 42 dth;...wc.height.=.c->height.+.B
1b560 41 52 48 45 49 47 48 54 28 29 3b 0a 09 09 77 63 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 20 3d 20 ARHEIGHT();...wc.border_width.=.
1b580 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 3b 0a 09 09 2f 2f 77 63 2e 73 69 62 6c 69 6e 67 20 DEF_BORDERWIDTH;...//wc.sibling.
1b5a0 3d 20 65 2d 3e 61 62 6f 76 65 3b 0a 09 09 2f 2f 77 63 2e 73 74 61 63 6b 5f 6d 6f 64 65 20 3d 20 =.e->above;...//wc.stack_mode.=.
1b5c0 65 2d 3e 64 65 74 61 69 6c 3b 0a 09 09 58 43 6f 6e 66 69 67 75 72 65 57 69 6e 64 6f 77 28 64 73 e->detail;...XConfigureWindow(ds
1b5e0 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 6b 2c 20 26 77 ply,.c->frame,.e->value_mask,.&w
1b600 63 29 3b 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 09 09 69 66 20 28 65 2d 3e 76 61 6c 75 65 5f c);.#ifdef.SHAPE...if.(e->value_
1b620 6d 61 73 6b 20 26 20 28 43 57 57 69 64 74 68 7c 43 57 48 65 69 67 68 74 29 29 0a 09 09 7b 0a 09 mask.&.(CWWidth|CWHeight))...{..
1b640 09 09 73 65 74 5f 73 68 61 70 65 28 63 29 3b 0a 09 09 7d 0a 23 65 6e 64 69 66 0a 09 09 73 65 6e ..set_shape(c);...}.#endif...sen
1b660 64 5f 63 6f 6e 66 69 67 28 63 29 3b 0a 09 09 2f 2f 20 73 74 61 72 74 20 73 65 74 74 69 6e 67 20 d_config(c);...//.start.setting.
1b680 75 70 20 74 68 65 20 6e 65 78 74 20 63 61 6c 6c 0a 09 09 77 63 2e 78 20 3d 20 30 3b 0a 09 09 77 up.the.next.call...wc.x.=.0;...w
1b6a0 63 2e 79 20 3d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 c.y.=.BARHEIGHT();..}..else..{..
1b6c0 09 77 63 2e 78 20 3d 20 65 2d 3e 78 3b 0a 09 09 77 63 2e 79 20 3d 20 65 2d 3e 79 3b 0a 09 7d 0a .wc.x.=.e->x;...wc.y.=.e->y;..}.
1b6e0 0a 09 77 63 2e 77 69 64 74 68 20 3d 20 65 2d 3e 77 69 64 74 68 3b 0a 09 77 63 2e 68 65 69 67 68 ..wc.width.=.e->width;..wc.heigh
1b700 74 20 3d 20 65 2d 3e 68 65 69 67 68 74 3b 0a 09 2f 2f 77 63 2e 73 69 62 6c 69 6e 67 20 3d 20 65 t.=.e->height;..//wc.sibling.=.e
1b720 2d 3e 61 62 6f 76 65 3b 0a 09 2f 2f 77 63 2e 73 74 61 63 6b 5f 6d 6f 64 65 20 3d 20 65 2d 3e 64 ->above;..//wc.stack_mode.=.e->d
1b740 65 74 61 69 6c 3b 0a 09 58 43 6f 6e 66 69 67 75 72 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 etail;..XConfigureWindow(dsply,.
1b760 65 2d 3e 77 69 6e 64 6f 77 2c 20 65 2d 3e 76 61 6c 75 65 5f 6d 61 73 6b 2c 20 26 77 63 29 3b 0a e->window,.e->value_mask,.&wc);.
1b780 7d 0a 0a 2f 2a 20 54 77 6f 20 70 6f 73 73 69 62 69 6c 69 74 69 65 73 20 69 66 20 61 20 63 6c 69 }../*.Two.possibilities.if.a.cli
1b7a0 65 6e 74 20 69 73 20 61 73 6b 69 6e 67 20 74 6f 20 62 65 20 6d 61 70 70 65 64 2e 20 4f 6e 65 20 ent.is.asking.to.be.mapped..One.
1b7c0 69 73 20 74 68 61 74 0a 20 2a 20 69 74 27 73 20 61 20 6e 65 77 20 77 69 6e 64 6f 77 2c 20 73 6f is.that..*.it's.a.new.window,.so
1b7e0 20 77 65 20 68 61 6e 64 6c 65 20 74 68 61 74 20 69 66 20 69 74 20 69 73 6e 27 74 20 69 6e 20 6f .we.handle.that.if.it.isn't.in.o
1b800 75 72 20 63 6c 69 65 6e 74 73 0a 20 2a 20 6c 69 73 74 20 61 6e 79 77 68 65 72 65 2e 20 54 68 65 ur.clients..*.list.anywhere..The
1b820 20 6f 74 68 65 72 20 69 73 20 74 68 61 74 20 69 74 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 .other.is.that.it.already.exists
1b840 20 61 6e 64 20 77 61 6e 74 73 20 74 6f 0a 20 2a 20 64 65 2d 69 63 6f 6e 69 66 79 2c 20 77 68 69 .and.wants.to..*.de-iconify,.whi
1b860 63 68 20 69 73 20 73 69 6d 70 6c 65 20 74 6f 20 74 61 6b 65 20 63 61 72 65 20 6f 66 2e 20 2a 2f ch.is.simple.to.take.care.of..*/
1b880 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 6d 61 70 5f 72 65 71 75 65 73 74 ..static.void.handle_map_request
1b8a0 28 58 4d 61 70 52 65 71 75 65 73 74 45 76 65 6e 74 20 2a 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 (XMapRequestEvent.*e).{..Client.
1b8c0 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e 77 69 6e 64 6f 77 2c 20 57 49 4e 44 *c.=.find_client(e->window,.WIND
1b8e0 4f 57 29 3b 0a 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 75 6e 68 69 64 65 OW);..if.(c.!=.NULL)..{...unhide
1b900 28 63 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 6d 61 6b 65 5f 6e 65 77 5f 63 6c 69 65 (c);..}..else..{...make_new_clie
1b920 6e 74 28 65 2d 3e 77 69 6e 64 6f 77 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2a 20 53 65 65 20 77 69 6e 64 nt(e->window);..}.}../*.See.wind
1b940 6f 77 6c 61 62 2e 68 20 66 6f 72 20 74 68 65 20 69 6e 74 72 6f 20 74 6f 20 74 68 69 73 20 6f 6e owlab.h.for.the.intro.to.this.on
1b960 65 2e 20 49 66 20 74 68 69 73 20 69 73 20 61 20 77 69 6e 64 6f 77 20 77 65 0a 20 2a 20 75 6e 6d e..If.this.is.a.window.we..*.unm
1b980 61 70 70 65 64 20 6f 75 72 73 65 6c 76 65 73 2c 20 64 65 63 72 65 6d 65 6e 74 20 63 2d 3e 69 67 apped.ourselves,.decrement.c->ig
1b9a0 6e 6f 72 65 5f 75 6e 6d 61 70 20 61 6e 64 20 63 61 73 75 61 6c 6c 79 20 67 6f 20 6f 6e 20 61 73 nore_unmap.and.casually.go.on.as
1b9c0 0a 20 2a 20 69 66 20 6e 6f 74 68 69 6e 67 20 68 61 64 20 68 61 70 70 65 6e 65 64 2e 20 49 66 20 ..*.if.nothing.had.happened..If.
1b9e0 74 68 65 20 77 69 6e 64 6f 77 20 75 6e 6d 61 70 70 65 64 20 69 74 73 65 6c 66 20 66 72 6f 6d 20 the.window.unmapped.itself.from.
1ba00 75 6e 64 65 72 0a 20 2a 20 6f 75 72 20 66 65 65 74 2c 20 68 6f 77 65 76 65 72 2c 20 67 65 74 20 under..*.our.feet,.however,.get.
1ba20 72 69 64 20 6f 66 20 69 74 2e 0a 20 2a 0a 20 2a 20 49 66 20 79 6f 75 20 73 70 65 6e 64 20 61 20 rid.of.it...*..*.If.you.spend.a.
1ba40 6c 6f 74 20 6f 66 20 74 69 6d 65 20 77 69 74 68 20 2d 44 44 45 42 55 47 20 6f 6e 2c 20 79 6f 75 lot.of.time.with.-DDEBUG.on,.you
1ba60 27 6c 6c 20 72 65 61 6c 69 7a 65 20 74 68 61 74 0a 20 2a 20 62 65 63 61 75 73 65 20 6d 6f 73 74 'll.realize.that..*.because.most
1ba80 20 63 6c 69 65 6e 74 73 20 75 6e 6d 61 70 20 61 6e 64 20 64 65 73 74 72 6f 79 20 74 68 65 6d 73 .clients.unmap.and.destroy.thems
1baa0 65 6c 76 65 73 20 61 74 20 6f 6e 63 65 2c 20 74 68 65 79 27 72 65 0a 20 2a 20 67 6f 6e 65 20 62 elves.at.once,.they're..*.gone.b
1bac0 65 66 6f 72 65 20 77 65 20 65 76 65 6e 20 67 65 74 20 74 68 65 20 55 6e 6d 61 70 20 65 76 65 6e efore.we.even.get.the.Unmap.even
1bae0 74 2c 20 6e 65 76 65 72 20 6d 69 6e 64 20 74 68 65 20 44 65 73 74 72 6f 79 0a 20 2a 20 6f 6e 65 t,.never.mind.the.Destroy..*.one
1bb00 2e 20 54 68 69 73 20 77 69 6c 6c 20 6e 65 63 65 73 73 69 74 61 74 65 20 73 6f 6d 65 20 65 78 74 ..This.will.necessitate.some.ext
1bb20 72 61 20 63 61 75 74 69 6f 6e 20 69 6e 20 72 65 6d 6f 76 65 5f 63 6c 69 65 6e 74 2e 0a 20 2a 0a ra.caution.in.remove_client...*.
1bb40 20 2a 20 50 65 72 73 6f 6e 61 6c 6c 79 2c 20 49 20 74 68 69 6e 6b 20 74 68 61 74 20 69 66 20 4d .*.Personally,.I.think.that.if.M
1bb60 61 70 20 65 76 65 6e 74 73 20 61 72 65 20 69 6e 74 65 72 63 65 70 74 65 64 2c 20 55 6e 6d 61 70 ap.events.are.intercepted,.Unmap
1bb80 0a 20 2a 20 65 76 65 6e 74 73 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 74 65 72 63 65 70 74 65 64 ..*.events.should.be.intercepted
1bba0 20 74 6f 6f 2e 20 4e 6f 20 75 73 65 20 61 72 67 75 69 6e 67 20 77 69 74 68 20 61 20 73 74 61 6e .too..No.use.arguing.with.a.stan
1bbc0 64 61 72 64 0a 20 2a 20 74 68 61 74 27 73 20 61 6c 6d 6f 73 74 20 61 73 20 6f 6c 64 20 61 73 20 dard..*.that's.almost.as.old.as.
1bbe0 49 20 61 6d 20 74 68 6f 75 67 68 2e 20 3a 2d 28 20 2a 2f 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 I.am.though..:-(.*/..static.void
1bc00 20 68 61 6e 64 6c 65 5f 75 6e 6d 61 70 5f 65 76 65 6e 74 28 58 55 6e 6d 61 70 45 76 65 6e 74 20 .handle_unmap_event(XUnmapEvent.
1bc20 2a 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 *e).{..Client.*c.=.find_client(e
1bc40 2d 3e 77 69 6e 64 6f 77 2c 20 57 49 4e 44 4f 57 29 3b 0a 0a 09 69 66 20 28 63 20 21 3d 20 4e 55 ->window,.WINDOW);...if.(c.!=.NU
1bc60 4c 4c 29 0a 09 7b 0a 09 09 69 66 20 28 63 2d 3e 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 29 0a 09 09 LL)..{...if.(c->ignore_unmap)...
1bc80 7b 0a 09 09 09 63 2d 3e 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 2d 2d 3b 0a 09 09 7d 0a 09 09 65 6c {....c->ignore_unmap--;...}...el
1bca0 73 65 0a 09 09 7b 0a 09 09 09 72 65 6d 6f 76 65 5f 63 6c 69 65 6e 74 28 63 2c 20 57 49 54 48 44 se...{....remove_client(c,.WITHD
1bcc0 52 41 57 29 3b 0a 09 09 7d 0a 09 7d 0a 7d 0a 0a 2f 2a 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 RAW);...}..}.}../*.This.happens.
1bce0 77 68 65 6e 20 61 20 77 69 6e 64 6f 77 20 69 73 20 69 63 6f 6e 69 66 69 65 64 20 61 6e 64 20 64 when.a.window.is.iconified.and.d
1bd00 65 73 74 72 6f 79 73 20 69 74 73 65 6c 66 2e 20 41 6e 0a 20 2a 20 55 6e 6d 61 70 20 65 76 65 6e estroys.itself..An..*.Unmap.even
1bd20 74 20 77 6f 75 6c 64 6e 27 74 20 68 61 70 70 65 6e 20 69 6e 20 74 68 61 74 20 63 61 73 65 20 62 t.wouldn't.happen.in.that.case.b
1bd40 65 63 61 75 73 65 20 74 68 65 20 77 69 6e 64 6f 77 20 69 73 0a 20 2a 20 61 6c 72 65 61 64 79 20 ecause.the.window.is..*.already.
1bd60 75 6e 6d 61 70 70 65 64 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 unmapped..*/..static.void.handle
1bd80 5f 64 65 73 74 72 6f 79 5f 65 76 65 6e 74 28 58 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 45 76 65 _destroy_event(XDestroyWindowEve
1bda0 6e 74 20 2a 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e nt.*e).{..Client.*c.=.find_clien
1bdc0 74 28 65 2d 3e 77 69 6e 64 6f 77 2c 20 57 49 4e 44 4f 57 29 3b 0a 09 69 66 20 28 63 20 21 3d 20 t(e->window,.WINDOW);..if.(c.!=.
1bde0 4e 55 4c 4c 29 0a 09 7b 0a 09 09 72 65 6d 6f 76 65 5f 63 6c 69 65 6e 74 28 63 2c 20 57 49 54 48 NULL)..{...remove_client(c,.WITH
1be00 44 52 41 57 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2a 20 49 66 20 61 20 63 6c 69 65 6e 74 20 77 61 6e 74 DRAW);..}.}../*.If.a.client.want
1be20 73 20 74 6f 20 69 63 6f 6e 69 66 79 20 69 74 73 65 6c 66 20 28 62 6f 6f 21 20 68 69 73 73 21 29 s.to.iconify.itself.(boo!.hiss!)
1be40 20 69 74 20 6d 75 73 74 20 73 65 6e 64 20 61 0a 20 2a 20 73 70 65 63 69 61 6c 20 6b 69 6e 64 20 .it.must.send.a..*.special.kind.
1be60 6f 66 20 43 6c 69 65 6e 74 4d 65 73 73 61 67 65 2e 20 57 65 20 6d 69 67 68 74 20 73 65 74 20 75 of.ClientMessage..We.might.set.u
1be80 70 20 6f 74 68 65 72 20 68 61 6e 64 6c 65 72 73 20 68 65 72 65 0a 20 2a 20 62 75 74 20 74 68 65 p.other.handlers.here..*.but.the
1bea0 72 65 27 73 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 re's.nothing.else.required.by.th
1bec0 65 20 49 43 43 43 4d 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f e.ICCCM..*/..static.void.handle_
1bee0 63 6c 69 65 6e 74 5f 6d 65 73 73 61 67 65 28 58 43 6c 69 65 6e 74 4d 65 73 73 61 67 65 45 76 65 client_message(XClientMessageEve
1bf00 6e 74 20 2a 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e nt.*e).{..Client.*c.=.find_clien
1bf20 74 28 65 2d 3e 77 69 6e 64 6f 77 2c 20 57 49 4e 44 4f 57 29 3b 0a 09 69 66 20 28 63 20 21 3d 20 t(e->window,.WINDOW);..if.(c.!=.
1bf40 4e 55 4c 4c 20 26 26 20 65 2d 3e 6d 65 73 73 61 67 65 5f 74 79 70 65 20 3d 3d 20 77 6d 5f 63 68 NULL.&&.e->message_type.==.wm_ch
1bf60 61 6e 67 65 5f 73 74 61 74 65 20 26 26 20 65 2d 3e 66 6f 72 6d 61 74 20 3d 3d 20 33 32 20 26 26 ange_state.&&.e->format.==.32.&&
1bf80 20 65 2d 3e 64 61 74 61 2e 6c 5b 30 5d 20 3d 3d 20 49 63 6f 6e 69 63 53 74 61 74 65 29 0a 09 7b .e->data.l[0].==.IconicState)..{
1bfa0 0a 09 09 68 69 64 65 28 63 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2a 20 41 6c 6c 20 74 68 61 74 20 77 65 ...hide(c);..}.}../*.All.that.we
1bfc0 20 68 61 76 65 20 63 61 63 68 65 64 20 69 73 20 74 68 65 20 6e 61 6d 65 20 61 6e 64 20 74 68 65 .have.cached.is.the.name.and.the
1bfe0 20 73 69 7a 65 20 68 69 6e 74 73 2c 20 73 6f 20 77 65 20 6f 6e 6c 79 0a 20 2a 20 68 61 76 65 20 .size.hints,.so.we.only..*.have.
1c000 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 74 68 6f 73 65 20 68 65 72 65 2e 20 41 20 63 68 61 6e 67 to.check.for.those.here..A.chang
1c020 65 20 69 6e 20 74 68 65 20 6e 61 6d 65 20 6d 65 61 6e 73 20 77 65 20 68 61 76 65 20 74 6f 0a 20 e.in.the.name.means.we.have.to..
1c040 2a 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 70 65 20 6f 75 74 20 74 68 65 20 6f 6c 64 20 6e *.immediately.wipe.out.the.old.n
1c060 61 6d 65 20 61 6e 64 20 72 65 64 72 61 77 3b 20 73 69 7a 65 20 68 69 6e 74 73 20 6f 6e 6c 79 20 ame.and.redraw;.size.hints.only.
1c080 67 65 74 0a 20 2a 20 75 73 65 64 20 77 68 65 6e 20 77 65 20 6e 65 65 64 20 74 68 65 6d 2e 20 2a get..*.used.when.we.need.them..*
1c0a0 2f 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 70 72 6f 70 65 72 74 79 5f 63 /..static.void.handle_property_c
1c0c0 68 61 6e 67 65 28 58 50 72 6f 70 65 72 74 79 45 76 65 6e 74 20 2a 65 29 0a 7b 0a 09 43 6c 69 65 hange(XPropertyEvent.*e).{..Clie
1c0e0 6e 74 20 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e 77 69 6e 64 6f 77 2c 20 57 nt.*c.=.find_client(e->window,.W
1c100 49 4e 44 4f 57 29 3b 0a 09 6c 6f 6e 67 20 64 75 6d 6d 79 3b 0a 0a 09 69 66 20 28 63 20 21 3d 20 INDOW);..long.dummy;...if.(c.!=.
1c120 4e 55 4c 4c 29 0a 09 7b 0a 09 09 73 77 69 74 63 68 20 28 65 2d 3e 61 74 6f 6d 29 0a 09 09 7b 0a NULL)..{...switch.(e->atom)...{.
1c140 09 09 09 63 61 73 65 20 58 41 5f 57 4d 5f 4e 41 4d 45 3a 0a 09 09 09 09 69 66 20 28 63 2d 3e 6e ...case.XA_WM_NAME:.....if.(c->n
1c160 61 6d 65 29 0a 09 09 09 09 7b 0a 09 09 09 09 09 58 46 72 65 65 28 63 2d 3e 6e 61 6d 65 29 3b 0a ame).....{......XFree(c->name);.
1c180 09 09 09 09 09 63 2d 3e 6e 61 6d 65 20 3d 20 4e 55 4c 4c 3b 0a 09 09 09 09 7d 0a 09 09 09 09 58 .....c->name.=.NULL;.....}.....X
1c1a0 46 65 74 63 68 4e 61 6d 65 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 26 63 2d 3e FetchName(dsply,.c->window,.&c->
1c1c0 6e 61 6d 65 29 3b 0a 09 09 09 09 72 65 64 72 61 77 28 63 29 3b 0a 09 09 09 09 72 65 64 72 61 77 name);.....redraw(c);.....redraw
1c1e0 5f 74 61 73 6b 62 61 72 28 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 58 _taskbar();.....break;....case.X
1c200 41 5f 57 4d 5f 4e 4f 52 4d 41 4c 5f 48 49 4e 54 53 3a 0a 09 09 09 09 58 47 65 74 57 4d 4e 6f 72 A_WM_NORMAL_HINTS:.....XGetWMNor
1c220 6d 61 6c 48 69 6e 74 73 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 63 2d 3e 73 69 malHints(dsply,.c->window,.c->si
1c240 7a 65 2c 20 26 64 75 6d 6d 79 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 7d 0a 09 7d 0a 7d ze,.&dummy);.....break;...}..}.}
1c260 0a 0a 2f 2a 20 58 27 73 20 64 65 66 61 75 6c 74 20 66 6f 63 75 73 20 70 6f 6c 69 63 79 20 69 73 ../*.X's.default.focus.policy.is
1c280 20 66 6f 6c 6c 6f 77 73 2d 6d 6f 75 73 65 2c 20 62 75 74 20 77 65 20 68 61 76 65 20 74 6f 20 73 .follows-mouse,.but.we.have.to.s
1c2a0 65 74 20 69 74 0a 20 2a 20 61 6e 79 77 61 79 20 62 65 63 61 75 73 65 20 73 6f 6d 65 20 73 6c 6f et.it..*.anyway.because.some.slo
1c2c0 70 70 69 6c 79 20 77 72 69 74 74 65 6e 20 63 6c 69 65 6e 74 73 20 61 73 73 75 6d 65 20 74 68 61 ppily.written.clients.assume.tha
1c2e0 74 20 28 61 29 20 74 68 65 79 0a 20 2a 20 63 61 6e 20 73 65 74 20 74 68 65 20 66 6f 63 75 73 20 t.(a).they..*.can.set.the.focus.
1c300 77 68 65 6e 65 76 65 72 20 74 68 65 79 20 77 61 6e 74 20 6f 72 20 28 62 29 20 74 68 61 74 20 74 whenever.they.want.or.(b).that.t
1c320 68 65 79 20 64 6f 6e 27 74 20 68 61 76 65 0a 20 2a 20 74 68 65 20 66 6f 63 75 73 20 75 6e 6c 65 hey.don't.have..*.the.focus.unle
1c340 73 73 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 73 20 67 72 61 62 62 65 64 20 74 6f 20 74 68 ss.the.keyboard.is.grabbed.to.th
1c360 65 6d 2e 20 4f 54 4f 48 20 69 74 20 64 6f 65 73 0a 20 2a 20 61 6c 6c 6f 77 20 75 73 20 74 6f 20 em..OTOH.it.does..*.allow.us.to.
1c380 6b 65 65 70 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 66 6f 63 75 73 20 77 68 65 6e 20 70 6f 69 keep.the.previous.focus.when.poi
1c3a0 6e 74 69 6e 67 20 61 74 20 74 68 65 20 72 6f 6f 74 2c 0a 20 2a 20 77 68 69 63 68 20 69 73 20 6e nting.at.the.root,..*.which.is.n
1c3c0 69 63 65 2e 0a 20 2a 0a 20 2a 20 57 65 20 61 6c 73 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 63 ice...*..*.We.also.implement.a.c
1c3e0 6f 6c 6f 72 6d 61 70 2d 66 6f 6c 6c 6f 77 73 2d 6d 6f 75 73 65 20 70 6f 6c 69 63 79 20 68 65 72 olormap-follows-mouse.policy.her
1c400 65 2e 20 54 68 61 74 2c 20 6f 6e 0a 20 2a 20 74 68 65 20 74 68 69 72 64 20 68 61 6e 64 2c 20 69 e..That,.on..*.the.third.hand,.i
1c420 73 20 2a 6e 6f 74 2a 20 58 27 73 20 64 65 66 61 75 6c 74 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 s.*not*.X's.default..*/..static.
1c440 76 6f 69 64 20 68 61 6e 64 6c 65 5f 65 6e 74 65 72 5f 65 76 65 6e 74 28 58 43 72 6f 73 73 69 6e void.handle_enter_event(XCrossin
1c460 67 45 76 65 6e 74 20 2a 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 4e 55 4c 4c 3b 0a gEvent.*e).{..Client.*c.=.NULL;.
1c480 09 69 66 20 28 65 2d 3e 77 69 6e 64 6f 77 20 3d 3d 20 74 61 73 6b 62 61 72 29 0a 09 7b 0a 09 09 .if.(e->window.==.taskbar)..{...
1c4a0 69 6e 5f 74 61 73 6b 62 61 72 20 3d 20 31 3b 0a 09 09 69 66 20 28 73 68 6f 77 69 6e 67 5f 74 61 in_taskbar.=.1;...if.(showing_ta
1c4c0 73 6b 62 61 72 20 3d 3d 20 30 29 0a 09 09 7b 0a 09 09 09 73 68 6f 77 69 6e 67 5f 74 61 73 6b 62 skbar.==.0)...{....showing_taskb
1c4e0 61 72 20 3d 20 31 3b 0a 09 09 09 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 29 3b 0a 09 09 7d ar.=.1;....redraw_taskbar();...}
1c500 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 69 6e 5f 74 61 73 6b 62 61 72 20 3d 20 30 3b 0a 09 ..}..else..{...in_taskbar.=.0;..
1c520 09 69 66 20 28 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 20 21 3d 20 4e 55 4c 4c 29 0a .if.(fullscreen_client.!=.NULL).
1c540 09 09 7b 0a 09 09 09 69 66 20 28 73 68 6f 77 69 6e 67 5f 74 61 73 6b 62 61 72 20 3d 3d 20 31 29 ..{....if.(showing_taskbar.==.1)
1c560 0a 09 09 09 7b 0a 09 09 09 09 73 68 6f 77 69 6e 67 5f 74 61 73 6b 62 61 72 20 3d 20 30 3b 0a 09 ....{.....showing_taskbar.=.0;..
1c580 09 09 09 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 ...redraw_taskbar();....}...}...
1c5a0 65 6c 73 65 20 2f 2f 20 6e 6f 20 66 75 6c 6c 73 63 72 65 65 6e 20 63 6c 69 65 6e 74 0a 09 09 7b else.//.no.fullscreen.client...{
1c5c0 0a 09 09 09 69 66 20 28 73 68 6f 77 69 6e 67 5f 74 61 73 6b 62 61 72 20 3d 3d 20 30 29 0a 09 09 ....if.(showing_taskbar.==.0)...
1c5e0 09 7b 0a 09 09 09 09 73 68 6f 77 69 6e 67 5f 74 61 73 6b 62 61 72 20 3d 20 31 3b 0a 09 09 09 09 .{.....showing_taskbar.=.1;.....
1c600 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 0a 09 09 63 20 redraw_taskbar();....}...}....c.
1c620 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e 77 69 6e 64 6f 77 2c 20 46 52 41 4d 45 29 3b =.find_client(e->window,.FRAME);
1c640 0a 09 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 09 7b 0a 09 09 09 58 47 72 61 62 42 75 ...if.(c.!=.NULL)...{....XGrabBu
1c660 74 74 6f 6e 28 64 73 70 6c 79 2c 20 41 6e 79 42 75 74 74 6f 6e 2c 20 41 6e 79 4d 6f 64 69 66 69 tton(dsply,.AnyButton,.AnyModifi
1c680 65 72 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 46 61 6c 73 65 2c 20 42 75 74 74 6f 6e 4d 61 73 6b 2c er,.c->frame,.False,.ButtonMask,
1c6a0 20 47 72 61 62 4d 6f 64 65 53 79 6e 63 2c 20 47 72 61 62 4d 6f 64 65 53 79 6e 63 2c 20 4e 6f 6e .GrabModeSync,.GrabModeSync,.Non
1c6c0 65 2c 20 4e 6f 6e 65 29 3b 0a 09 09 7d 0a 09 7d 0a 7d 0a 0a 2f 2a 20 48 65 72 65 27 73 20 70 61 e,.None);...}..}.}../*.Here's.pa
1c6e0 72 74 20 32 20 6f 66 20 6f 75 72 20 63 6f 6c 6f 72 6d 61 70 20 70 6f 6c 69 63 79 3a 20 77 68 65 rt.2.of.our.colormap.policy:.whe
1c700 6e 20 61 20 63 6c 69 65 6e 74 20 69 6e 73 74 61 6c 6c 73 20 61 20 6e 65 77 0a 20 2a 20 63 6f 6c n.a.client.installs.a.new..*.col
1c720 6f 72 6d 61 70 20 6f 6e 20 69 74 73 65 6c 66 2c 20 73 65 74 20 74 68 65 20 64 69 73 70 6c 61 79 ormap.on.itself,.set.the.display
1c740 27 73 20 63 6f 6c 6f 72 6d 61 70 20 74 6f 20 74 68 61 74 2e 20 41 72 67 75 61 62 6c 79 2c 0a 20 's.colormap.to.that..Arguably,..
1c760 2a 20 74 68 69 73 20 69 73 20 62 61 64 2c 20 62 65 63 61 75 73 65 20 77 65 20 73 68 6f 75 6c 64 *.this.is.bad,.because.we.should
1c780 20 6f 6e 6c 79 20 73 65 74 20 74 68 65 20 63 6f 6c 6f 72 6d 61 70 20 69 66 20 74 68 61 74 20 63 .only.set.the.colormap.if.that.c
1c7a0 6c 69 65 6e 74 0a 20 2a 20 68 61 73 20 74 68 65 20 66 6f 63 75 73 2e 20 48 6f 77 65 76 65 72 2c lient..*.has.the.focus..However,
1c7c0 20 63 6c 69 65 6e 74 73 20 64 6f 6e 27 74 20 75 73 75 61 6c 6c 79 20 73 65 74 20 63 6f 6c 6f 72 .clients.don't.usually.set.color
1c7e0 6d 61 70 73 20 61 74 0a 20 2a 20 72 61 6e 64 6f 6d 20 77 68 65 6e 20 79 6f 75 27 72 65 20 6e 6f maps.at..*.random.when.you're.no
1c800 74 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 69 74 68 20 74 68 65 6d 2c 20 73 6f 20 49 20 74 68 t.interacting.with.them,.so.I.th
1c820 69 6e 6b 20 77 65 27 72 65 0a 20 2a 20 73 61 66 65 2e 20 49 66 20 79 6f 75 20 68 61 76 65 20 61 ink.we're..*.safe..If.you.have.a
1c840 6e 20 38 2d 62 69 74 20 64 69 73 70 6c 61 79 20 61 6e 64 20 74 68 69 73 20 64 6f 65 73 6e 27 74 n.8-bit.display.and.this.doesn't
1c860 20 77 6f 72 6b 20 66 6f 72 20 79 6f 75 2c 0a 20 2a 20 62 79 20 61 6c 6c 20 6d 65 61 6e 73 20 79 .work.for.you,..*.by.all.means.y
1c880 65 6c 6c 20 61 74 20 6d 65 2c 20 62 75 74 20 76 65 72 79 20 66 65 77 20 70 65 6f 70 6c 65 20 68 ell.at.me,.but.very.few.people.h
1c8a0 61 76 65 20 38 2d 62 69 74 20 64 69 73 70 6c 61 79 73 0a 20 2a 20 74 68 65 73 65 20 64 61 79 73 ave.8-bit.displays..*.these.days
1c8c0 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 63 6f 6c 6f 72 6d 61 ..*/..static.void.handle_colorma
1c8e0 70 5f 63 68 61 6e 67 65 28 58 43 6f 6c 6f 72 6d 61 70 45 76 65 6e 74 20 2a 65 29 0a 7b 0a 09 43 p_change(XColormapEvent.*e).{..C
1c900 6c 69 65 6e 74 20 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e 77 69 6e 64 6f 77 lient.*c.=.find_client(e->window
1c920 2c 20 57 49 4e 44 4f 57 29 3b 0a 09 2f 2f 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 20 26 26 20 65 ,.WINDOW);..//if.(c.!=.NULL.&&.e
1c940 2d 3e 63 5f 6e 65 77 29 20 2f 2f 20 75 73 65 20 63 5f 6e 65 77 20 66 6f 72 20 63 2b 2b 0a 09 69 ->c_new).//.use.c_new.for.c++..i
1c960 66 20 28 63 20 21 3d 20 4e 55 4c 4c 20 26 26 20 65 2d 3e 6e 65 77 29 0a 09 7b 0a 09 09 63 2d 3e f.(c.!=.NULL.&&.e->new)..{...c->
1c980 63 6d 61 70 20 3d 20 65 2d 3e 63 6f 6c 6f 72 6d 61 70 3b 0a 09 09 58 49 6e 73 74 61 6c 6c 43 6f cmap.=.e->colormap;...XInstallCo
1c9a0 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 63 2d 3e 63 6d 61 70 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2a lormap(dsply,.c->cmap);..}.}../*
1c9c0 20 49 66 20 77 65 20 77 65 72 65 20 63 6f 76 65 72 65 64 20 62 79 20 6d 75 6c 74 69 70 6c 65 20 .If.we.were.covered.by.multiple.
1c9e0 77 69 6e 64 6f 77 73 2c 20 77 65 20 77 69 6c 6c 20 75 73 75 61 6c 6c 79 20 67 65 74 0a 20 2a 20 windows,.we.will.usually.get..*.
1ca00 6d 75 6c 74 69 70 6c 65 20 65 78 70 6f 73 65 20 65 76 65 6e 74 73 2c 20 73 6f 20 69 67 6e 6f 72 multiple.expose.events,.so.ignor
1ca20 65 20 74 68 65 6d 20 75 6e 6c 65 73 73 20 65 2d 3e 63 6f 75 6e 74 20 28 74 68 65 20 6e 75 6d 62 e.them.unless.e->count.(the.numb
1ca40 65 72 0a 20 2a 20 6f 66 20 6f 75 74 73 74 61 6e 64 69 6e 67 20 65 78 70 6f 73 65 73 29 20 69 73 er..*.of.outstanding.exposes).is
1ca60 20 7a 65 72 6f 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 65 78 .zero..*/..static.void.handle_ex
1ca80 70 6f 73 65 5f 65 76 65 6e 74 28 58 45 78 70 6f 73 65 45 76 65 6e 74 20 2a 65 29 0a 7b 0a 09 69 pose_event(XExposeEvent.*e).{..i
1caa0 66 20 28 65 2d 3e 77 69 6e 64 6f 77 20 3d 3d 20 74 61 73 6b 62 61 72 29 0a 09 7b 0a 09 09 69 66 f.(e->window.==.taskbar)..{...if
1cac0 20 28 65 2d 3e 63 6f 75 6e 74 20 3d 3d 20 30 29 0a 09 09 7b 0a 09 09 09 72 65 64 72 61 77 5f 74 .(e->count.==.0)...{....redraw_t
1cae0 61 73 6b 62 61 72 28 29 3b 0a 09 09 7d 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 43 6c 69 65 askbar();...}..}..else..{...Clie
1cb00 6e 74 20 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e 77 69 6e 64 6f 77 2c 20 46 nt.*c.=.find_client(e->window,.F
1cb20 52 41 4d 45 29 3b 0a 09 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 20 26 26 20 65 2d 3e 63 6f 75 RAME);...if.(c.!=.NULL.&&.e->cou
1cb40 6e 74 20 3d 3d 20 30 29 0a 09 09 7b 0a 09 09 09 72 65 64 72 61 77 28 63 29 3b 0a 09 09 7d 0a 09 nt.==.0)...{....redraw(c);...}..
1cb60 7d 0a 7d 0a 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 }.}..#ifdef.SHAPE.static.void.ha
1cb80 6e 64 6c 65 5f 73 68 61 70 65 5f 63 68 61 6e 67 65 28 58 53 68 61 70 65 45 76 65 6e 74 20 2a 65 ndle_shape_change(XShapeEvent.*e
1cba0 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 66 69 6e 64 5f 63 6c 69 65 6e 74 28 65 2d 3e ).{..Client.*c.=.find_client(e->
1cbc0 77 69 6e 64 6f 77 2c 20 57 49 4e 44 4f 57 29 3b 0a 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 window,.WINDOW);..if.(c.!=.NULL)
1cbe0 0a 09 7b 0a 09 09 73 65 74 5f 73 68 61 70 65 28 63 29 3b 0a 09 7d 0a 7d 0a 23 65 6e 64 69 66 0a ..{...set_shape(c);..}.}.#endif.
1cc00 0a 2f 2a 20 69 6e 74 65 72 72 75 70 74 69 62 6c 65 58 4e 65 78 74 45 76 65 6e 74 28 29 20 77 61 ./*.interruptibleXNextEvent().wa
1cc20 73 20 6f 72 69 67 69 6e 61 6c 6c 79 20 74 61 6b 65 6e 20 66 72 6f 6d 20 42 6c 65 6e 64 65 72 27 s.originally.taken.from.Blender'
1cc40 73 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 20 2a 20 61 6e 64 20 63 61 6d 65 20 77 69 74 68 20 74 s.source.code..*.and.came.with.t
1cc60 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 3a 20 2a he.following.copyright.notice:.*
1cc80 2f 0a 0a 2f 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 4d 61 72 6b 20 4a 2e 20 4b 69 6c 67 /../*.Copyright.(c).Mark.J..Kilg
1cca0 61 72 64 2c 20 31 39 39 34 2c 20 31 39 39 35 2c 20 31 39 39 36 2e 20 2a 2f 0a 0a 2f 2a 20 54 68 ard,.1994,.1995,.1996..*/../*.Th
1ccc0 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 6c 79 20 64 69 73 74 72 69 62 75 74 61 62 is.program.is.freely.distributab
1cce0 6c 65 20 77 69 74 68 6f 75 74 20 6c 69 63 65 6e 73 69 6e 67 20 66 65 65 73 0a 20 2a 20 61 6e 64 le.without.licensing.fees..*.and
1cd00 20 69 73 20 70 72 6f 76 69 64 65 64 20 77 69 74 68 6f 75 74 20 67 75 61 72 61 6e 74 65 65 20 6f .is.provided.without.guarantee.o
1cd20 72 20 77 61 72 72 61 6e 74 65 65 20 65 78 70 72 65 73 73 65 64 20 6f 72 0a 20 2a 20 69 6d 70 6c r.warrantee.expressed.or..*.impl
1cd40 69 65 64 2e 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 2d 6e 6f 74 2d 20 69 6e 20 74 68 ied..This.program.is.-not-.in.th
1cd60 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 20 2a 2f 0a 0a 2f 2a 20 55 6e 6c 69 6b 65 20 58 e.public.domain..*/../*.Unlike.X
1cd80 4e 65 78 74 45 76 65 6e 74 2c 20 69 66 20 61 20 73 69 67 6e 61 6c 20 61 72 72 69 76 65 73 2c 20 NextEvent,.if.a.signal.arrives,.
1cda0 69 6e 74 65 72 72 75 70 74 69 62 6c 65 58 4e 65 78 74 45 76 65 6e 74 20 77 69 6c 6c 0a 20 2a 20 interruptibleXNextEvent.will..*.
1cdc0 72 65 74 75 72 6e 20 7a 65 72 6f 2e 20 2a 2f 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 69 6e 74 65 return.zero..*/..static.int.inte
1cde0 72 72 75 70 74 69 62 6c 65 5f 58 4e 65 78 74 45 76 65 6e 74 28 58 45 76 65 6e 74 20 2a 65 76 65 rruptible_XNextEvent(XEvent.*eve
1ce00 6e 74 29 0a 7b 0a 09 66 64 5f 73 65 74 20 66 64 73 3b 0a 09 69 6e 74 20 72 63 3b 0a 09 69 6e 74 nt).{..fd_set.fds;..int.rc;..int
1ce20 20 64 73 70 6c 79 5f 66 64 20 3d 20 43 6f 6e 6e 65 63 74 69 6f 6e 4e 75 6d 62 65 72 28 64 73 70 .dsply_fd.=.ConnectionNumber(dsp
1ce40 6c 79 29 3b 0a 09 66 6f 72 20 28 3b 3b 29 0a 09 7b 0a 09 09 69 66 20 28 58 50 65 6e 64 69 6e 67 ly);..for.(;;)..{...if.(XPending
1ce60 28 64 73 70 6c 79 29 29 0a 09 09 7b 0a 09 09 09 58 4e 65 78 74 45 76 65 6e 74 28 64 73 70 6c 79 (dsply))...{....XNextEvent(dsply
1ce80 2c 20 65 76 65 6e 74 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 31 3b 0a 09 09 7d 0a 09 09 46 44 5f ,.event);....return.1;...}...FD_
1cea0 5a 45 52 4f 28 26 66 64 73 29 3b 0a 09 09 46 44 5f 53 45 54 28 64 73 70 6c 79 5f 66 64 2c 20 26 ZERO(&fds);...FD_SET(dsply_fd,.&
1cec0 66 64 73 29 3b 0a 09 09 72 63 20 3d 20 73 65 6c 65 63 74 28 64 73 70 6c 79 5f 66 64 20 2b 20 31 fds);...rc.=.select(dsply_fd.+.1
1cee0 2c 20 26 66 64 73 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 3b 0a 09 09 69 66 20 ,.&fds,.NULL,.NULL,.NULL);...if.
1cf00 28 72 63 20 3c 20 30 29 0a 09 09 7b 0a 09 09 09 69 66 20 28 65 72 72 6e 6f 20 3d 3d 20 45 49 4e (rc.<.0)...{....if.(errno.==.EIN
1cf20 54 52 29 0a 09 09 09 7b 0a 09 09 09 09 72 65 74 75 72 6e 20 30 3b 0a 09 09 09 7d 0a 09 09 09 72 TR)....{.....return.0;....}....r
1cf40 65 74 75 72 6e 20 31 3b 0a 09 09 7d 0a 09 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 eturn.1;...}..}.}...............
1cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d000 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 63 6c 69 65 6e 74 2e 63 00 00 00 00 00 00 00 00 00 windowlab-1.40/client.c.........
1d020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1d080 30 30 32 37 32 30 36 00 31 31 33 35 36 31 35 35 32 35 32 00 30 31 33 35 31 34 00 20 30 00 00 00 0027206.11356155252.013514..0...
1d0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d100 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
1d120 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
1d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d200 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
1d220 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
1d240 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
1d260 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
1d280 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
1d2a0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
1d2c0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
1d2e0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
1d300 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
1d320 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
1d340 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
1d360 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
1d380 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
1d3a0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
1d3c0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
1d3e0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
1d400 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
1d420 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
1d440 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
1d460 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
1d480 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
1d4a0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
1d4c0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
1d4e0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
1d500 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
1d520 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
1d540 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 10-1301,.USA...*/..#include."win
1d560 64 6f 77 6c 61 62 2e 68 22 0a 0a 43 6c 69 65 6e 74 20 2a 66 69 6e 64 5f 63 6c 69 65 6e 74 28 57 dowlab.h"..Client.*find_client(W
1d580 69 6e 64 6f 77 20 77 2c 20 69 6e 74 20 6d 6f 64 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 indow.w,.int.mode).{..Client.*c.
1d5a0 3d 20 68 65 61 64 5f 63 6c 69 65 6e 74 3b 0a 09 69 66 20 28 6d 6f 64 65 20 3d 3d 20 46 52 41 4d =.head_client;..if.(mode.==.FRAM
1d5c0 45 29 0a 09 7b 0a 09 09 77 68 69 6c 65 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 09 7b 0a 09 09 E)..{...while.(c.!=.NULL)...{...
1d5e0 09 69 66 20 28 63 2d 3e 66 72 61 6d 65 20 3d 3d 20 77 29 0a 09 09 09 7b 0a 09 09 09 09 72 65 74 .if.(c->frame.==.w)....{.....ret
1d600 75 72 6e 20 63 3b 0a 09 09 09 7d 0a 09 09 09 63 20 3d 20 63 2d 3e 6e 65 78 74 3b 0a 09 09 7d 0a urn.c;....}....c.=.c->next;...}.
1d620 09 7d 0a 09 65 6c 73 65 20 2f 2f 20 57 49 4e 44 4f 57 0a 09 7b 0a 09 09 77 68 69 6c 65 20 28 63 .}..else.//.WINDOW..{...while.(c
1d640 20 21 3d 20 4e 55 4c 4c 29 0a 09 09 7b 0a 09 09 09 69 66 20 28 63 2d 3e 77 69 6e 64 6f 77 20 3d .!=.NULL)...{....if.(c->window.=
1d660 3d 20 77 29 0a 09 09 09 7b 0a 09 09 09 09 72 65 74 75 72 6e 20 63 3b 0a 09 09 09 7d 0a 09 09 09 =.w)....{.....return.c;....}....
1d680 63 20 3d 20 63 2d 3e 6e 65 78 74 3b 0a 09 09 7d 0a 09 7d 0a 09 72 65 74 75 72 6e 20 4e 55 4c 4c c.=.c->next;...}..}..return.NULL
1d6a0 3b 0a 7d 0a 0a 2f 2a 20 41 74 74 65 6d 70 74 20 74 6f 20 66 6f 6c 6c 6f 77 20 74 68 65 20 49 43 ;.}../*.Attempt.to.follow.the.IC
1d6c0 43 43 4d 20 62 79 20 65 78 70 6c 69 63 69 74 6c 79 20 73 70 65 63 69 66 79 69 6e 67 20 33 32 20 CCM.by.explicitly.specifying.32.
1d6e0 62 69 74 73 20 66 6f 72 0a 20 2a 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 2e 20 44 6f 65 73 20 bits.for..*.this.property..Does.
1d700 74 68 69 73 20 67 6f 6f 66 20 75 70 20 6f 6e 20 36 34 20 62 69 74 20 73 79 73 74 65 6d 73 3f 20 this.goof.up.on.64.bit.systems?.
1d720 2a 2f 0a 0a 76 6f 69 64 20 73 65 74 5f 77 6d 5f 73 74 61 74 65 28 43 6c 69 65 6e 74 20 2a 63 2c */..void.set_wm_state(Client.*c,
1d740 20 69 6e 74 20 73 74 61 74 65 29 0a 7b 0a 09 43 41 52 44 33 32 20 64 61 74 61 5b 32 5d 3b 0a 0a .int.state).{..CARD32.data[2];..
1d760 09 64 61 74 61 5b 30 5d 20 3d 20 73 74 61 74 65 3b 0a 09 64 61 74 61 5b 31 5d 20 3d 20 4e 6f 6e .data[0].=.state;..data[1].=.Non
1d780 65 3b 20 2f 2f 49 63 6f 6e 3f 20 57 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 6e 6f 20 73 74 65 65 e;.//Icon?.We.don't.need.no.stee
1d7a0 6e 6b 69 6e 67 20 69 63 6f 6e 2e 0a 0a 09 58 43 68 61 6e 67 65 50 72 6f 70 65 72 74 79 28 64 73 nking.icon....XChangeProperty(ds
1d7c0 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 77 6d 5f 73 74 61 74 65 2c 20 77 6d 5f 73 74 61 ply,.c->window,.wm_state,.wm_sta
1d7e0 74 65 2c 20 33 32 2c 20 50 72 6f 70 4d 6f 64 65 52 65 70 6c 61 63 65 2c 20 28 75 6e 73 69 67 6e te,.32,.PropModeReplace,.(unsign
1d800 65 64 20 63 68 61 72 20 2a 29 64 61 74 61 2c 20 32 29 3b 0a 7d 0a 0a 2f 2a 20 49 66 20 77 65 20 ed.char.*)data,.2);.}../*.If.we.
1d820 63 61 6e 27 74 20 66 69 6e 64 20 61 20 57 4d 5f 53 54 41 54 45 20 77 65 27 72 65 20 67 6f 69 6e can't.find.a.WM_STATE.we're.goin
1d840 67 20 74 6f 20 68 61 76 65 20 74 6f 20 61 73 73 75 6d 65 0a 20 2a 20 57 69 74 68 64 72 61 77 6e g.to.have.to.assume..*.Withdrawn
1d860 2e 20 54 68 69 73 20 69 73 20 6e 6f 74 20 65 78 61 63 74 6c 79 20 6f 70 74 69 6d 61 6c 2c 20 73 ..This.is.not.exactly.optimal,.s
1d880 69 6e 63 65 20 77 65 20 63 61 6e 27 74 20 72 65 61 6c 6c 79 0a 20 2a 20 64 69 73 74 69 6e 67 75 ince.we.can't.really..*.distingu
1d8a0 69 73 68 20 62 65 74 77 65 65 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 6e 6f 20 57 4d ish.between.the.case.where.no.WM
1d8c0 20 68 61 73 20 72 75 6e 20 79 65 74 20 61 6e 64 20 77 68 65 6e 20 74 68 65 0a 20 2a 20 73 74 61 .has.run.yet.and.when.the..*.sta
1d8e0 74 65 20 77 61 73 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65 6d 6f 76 65 64 20 28 43 6c 69 65 6e te.was.explicitly.removed.(Clien
1d900 74 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 65 69 74 68 65 72 20 73 65 74 20 74 68 65 ts.are.allowed.to.either.set.the
1d920 0a 20 2a 20 61 74 6f 6d 20 74 6f 20 57 69 74 68 64 72 61 77 6e 20 6f 72 20 6a 75 73 74 20 72 65 ..*.atom.to.Withdrawn.or.just.re
1d940 6d 6f 76 65 20 69 74 2e 2e 2e 20 79 75 63 6b 2e 29 20 2a 2f 0a 0a 6c 6f 6e 67 20 67 65 74 5f 77 move.it....yuck.).*/..long.get_w
1d960 6d 5f 73 74 61 74 65 28 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 41 74 6f 6d 20 72 65 61 6c 5f m_state(Client.*c).{..Atom.real_
1d980 74 79 70 65 3b 0a 09 69 6e 74 20 72 65 61 6c 5f 66 6f 72 6d 61 74 3b 0a 09 6c 6f 6e 67 20 73 74 type;..int.real_format;..long.st
1d9a0 61 74 65 20 3d 20 57 69 74 68 64 72 61 77 6e 53 74 61 74 65 3b 0a 09 75 6e 73 69 67 6e 65 64 20 ate.=.WithdrawnState;..unsigned.
1d9c0 6c 6f 6e 67 20 69 74 65 6d 73 5f 72 65 61 64 2c 20 69 74 65 6d 73 5f 6c 65 66 74 3b 0a 09 75 6e long.items_read,.items_left;..un
1d9e0 73 69 67 6e 65 64 20 63 68 61 72 20 2a 64 61 74 61 3b 0a 0a 09 69 66 20 28 58 47 65 74 57 69 6e signed.char.*data;...if.(XGetWin
1da00 64 6f 77 50 72 6f 70 65 72 74 79 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 77 6d dowProperty(dsply,.c->window,.wm
1da20 5f 73 74 61 74 65 2c 20 30 4c 2c 20 32 4c 2c 20 46 61 6c 73 65 2c 20 77 6d 5f 73 74 61 74 65 2c _state,.0L,.2L,.False,.wm_state,
1da40 20 26 72 65 61 6c 5f 74 79 70 65 2c 20 26 72 65 61 6c 5f 66 6f 72 6d 61 74 2c 20 26 69 74 65 6d .&real_type,.&real_format,.&item
1da60 73 5f 72 65 61 64 2c 20 26 69 74 65 6d 73 5f 6c 65 66 74 2c 20 26 64 61 74 61 29 20 3d 3d 20 53 s_read,.&items_left,.&data).==.S
1da80 75 63 63 65 73 73 20 26 26 20 69 74 65 6d 73 5f 72 65 61 64 29 0a 09 7b 0a 09 09 73 74 61 74 65 uccess.&&.items_read)..{...state
1daa0 20 3d 20 2a 28 6c 6f 6e 67 20 2a 29 64 61 74 61 3b 0a 09 09 58 46 72 65 65 28 64 61 74 61 29 3b .=.*(long.*)data;...XFree(data);
1dac0 0a 09 7d 0a 09 72 65 74 75 72 6e 20 73 74 61 74 65 3b 0a 7d 0a 0a 2f 2a 20 54 68 69 73 20 77 69 ..}..return.state;.}../*.This.wi
1dae0 6c 6c 20 6e 65 65 64 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 65 76 65 72 20 77 65 ll.need.to.be.called.whenever.we
1db00 20 75 70 64 61 74 65 20 6f 75 72 20 43 6c 69 65 6e 74 20 73 74 75 66 66 2e 0a 20 2a 20 59 65 61 .update.our.Client.stuff...*.Yea
1db20 68 2c 20 79 65 61 68 2c 20 73 74 6f 70 20 79 65 6c 6c 69 6e 67 20 61 74 20 6d 65 20 61 62 6f 75 h,.yeah,.stop.yelling.at.me.abou
1db40 74 20 4f 4f 2e 20 2a 2f 0a 0a 76 6f 69 64 20 73 65 6e 64 5f 63 6f 6e 66 69 67 28 43 6c 69 65 6e t.OO..*/..void.send_config(Clien
1db60 74 20 2a 63 29 0a 7b 0a 09 58 43 6f 6e 66 69 67 75 72 65 45 76 65 6e 74 20 63 65 3b 0a 0a 09 63 t.*c).{..XConfigureEvent.ce;...c
1db80 65 2e 74 79 70 65 20 3d 20 43 6f 6e 66 69 67 75 72 65 4e 6f 74 69 66 79 3b 0a 09 63 65 2e 65 76 e.type.=.ConfigureNotify;..ce.ev
1dba0 65 6e 74 20 3d 20 63 2d 3e 77 69 6e 64 6f 77 3b 0a 09 63 65 2e 77 69 6e 64 6f 77 20 3d 20 63 2d ent.=.c->window;..ce.window.=.c-
1dbc0 3e 77 69 6e 64 6f 77 3b 0a 09 63 65 2e 78 20 3d 20 63 2d 3e 78 3b 0a 09 63 65 2e 79 20 3d 20 63 >window;..ce.x.=.c->x;..ce.y.=.c
1dbe0 2d 3e 79 3b 0a 09 63 65 2e 77 69 64 74 68 20 3d 20 63 2d 3e 77 69 64 74 68 3b 0a 09 63 65 2e 68 ->y;..ce.width.=.c->width;..ce.h
1dc00 65 69 67 68 74 20 3d 20 63 2d 3e 68 65 69 67 68 74 3b 0a 09 63 65 2e 62 6f 72 64 65 72 5f 77 69 eight.=.c->height;..ce.border_wi
1dc20 64 74 68 20 3d 20 30 3b 0a 09 63 65 2e 61 62 6f 76 65 20 3d 20 4e 6f 6e 65 3b 0a 09 63 65 2e 6f dth.=.0;..ce.above.=.None;..ce.o
1dc40 76 65 72 72 69 64 65 5f 72 65 64 69 72 65 63 74 20 3d 20 30 3b 0a 0a 09 58 53 65 6e 64 45 76 65 verride_redirect.=.0;...XSendEve
1dc60 6e 74 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 46 61 6c 73 65 2c 20 53 74 72 75 nt(dsply,.c->window,.False,.Stru
1dc80 63 74 75 72 65 4e 6f 74 69 66 79 4d 61 73 6b 2c 20 28 58 45 76 65 6e 74 20 2a 29 26 63 65 29 3b ctureNotifyMask,.(XEvent.*)&ce);
1dca0 0a 7d 0a 0a 2f 2a 20 41 66 74 65 72 20 70 75 6c 6c 69 6e 67 20 6d 79 20 68 61 69 72 20 6f 75 74 .}../*.After.pulling.my.hair.out
1dcc0 20 74 72 79 69 6e 67 20 74 6f 20 66 69 6e 64 20 73 6f 6d 65 20 77 61 79 20 74 6f 20 74 65 6c 6c .trying.to.find.some.way.to.tell
1dce0 20 69 66 20 61 0a 20 2a 20 77 69 6e 64 6f 77 20 69 73 20 73 74 69 6c 6c 20 76 61 6c 69 64 2c 20 .if.a..*.window.is.still.valid,.
1dd00 49 27 76 65 20 64 65 63 69 64 65 64 20 74 6f 20 69 6e 73 74 65 61 64 20 63 61 72 65 66 75 6c 6c I've.decided.to.instead.carefull
1dd20 79 20 69 67 6e 6f 72 65 20 61 6e 79 0a 20 2a 20 65 72 72 6f 72 73 20 72 61 69 73 65 64 20 62 79 y.ignore.any..*.errors.raised.by
1dd40 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 20 57 65 20 6b 6e 6f 77 20 74 68 61 74 20 74 68 65 .this.function..We.know.that.the
1dd60 20 58 20 63 61 6c 6c 73 20 61 72 65 2c 20 61 6e 64 0a 20 2a 20 77 65 20 6b 6e 6f 77 20 74 68 65 .X.calls.are,.and..*.we.know.the
1dd80 20 6f 6e 6c 79 20 72 65 61 73 6f 6e 20 77 68 79 20 74 68 65 79 20 63 6f 75 6c 64 20 66 61 69 6c .only.reason.why.they.could.fail
1dda0 20 2d 2d 20 61 20 77 69 6e 64 6f 77 20 68 61 73 20 72 65 6d 6f 76 65 64 0a 20 2a 20 69 74 73 65 .--.a.window.has.removed..*.itse
1ddc0 6c 66 20 63 6f 6d 70 6c 65 74 65 6c 79 20 62 65 66 6f 72 65 20 74 68 65 20 55 6e 6d 61 70 20 61 lf.completely.before.the.Unmap.a
1dde0 6e 64 20 44 65 73 74 72 6f 79 20 65 76 65 6e 74 73 20 67 65 74 20 74 68 72 6f 75 67 68 0a 20 2a nd.Destroy.events.get.through..*
1de00 20 74 68 65 20 71 75 65 75 65 20 74 6f 20 75 73 2e 20 49 74 27 73 20 6e 6f 74 20 61 62 73 6f 6c .the.queue.to.us..It's.not.absol
1de20 75 74 65 6c 79 20 70 65 72 66 65 63 74 2c 20 62 75 74 20 69 74 20 77 6f 72 6b 73 2e 0a 20 2a 0a utely.perfect,.but.it.works...*.
1de40 20 2a 20 54 68 65 20 27 77 69 74 68 64 72 61 77 69 6e 67 27 20 61 72 67 75 6d 65 6e 74 20 73 70 .*.The.'withdrawing'.argument.sp
1de60 65 63 69 66 69 65 73 20 69 66 20 74 68 65 20 63 6c 69 65 6e 74 20 69 73 20 61 63 74 75 61 6c 6c ecifies.if.the.client.is.actuall
1de80 79 0a 20 2a 20 28 64 65 73 74 72 6f 79 69 6e 67 20 69 74 73 65 6c 66 7c 7c 62 65 69 6e 67 20 64 y..*.(destroying.itself||being.d
1dea0 65 73 74 72 6f 79 65 64 20 62 79 20 75 73 29 20 6f 72 20 69 66 20 77 65 20 61 72 65 20 6d 65 72 estroyed.by.us).or.if.we.are.mer
1dec0 65 6c 79 0a 20 2a 20 63 6c 65 61 6e 69 6e 67 20 75 70 20 69 74 73 20 64 61 74 61 20 73 74 72 75 ely..*.cleaning.up.its.data.stru
1dee0 63 74 75 72 65 73 20 77 68 65 6e 20 77 65 20 65 78 69 74 20 6d 69 64 2d 73 65 73 73 69 6f 6e 2e ctures.when.we.exit.mid-session.
1df00 20 2a 2f 0a 0a 76 6f 69 64 20 72 65 6d 6f 76 65 5f 63 6c 69 65 6e 74 28 43 6c 69 65 6e 74 20 2a .*/..void.remove_client(Client.*
1df20 63 2c 20 69 6e 74 20 6d 6f 64 65 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 70 3b 0a 0a 09 58 47 72 c,.int.mode).{..Client.*p;...XGr
1df40 61 62 53 65 72 76 65 72 28 64 73 70 6c 79 29 3b 0a 09 58 53 65 74 45 72 72 6f 72 48 61 6e 64 6c abServer(dsply);..XSetErrorHandl
1df60 65 72 28 69 67 6e 6f 72 65 5f 78 65 72 72 6f 72 29 3b 0a 0a 23 69 66 64 65 66 20 44 45 42 55 47 er(ignore_xerror);..#ifdef.DEBUG
1df80 0a 09 65 72 72 28 22 72 65 6d 6f 76 69 6e 67 20 25 73 2c 20 25 64 3a 20 25 64 20 6c 65 66 74 22 ..err("removing.%s,.%d:.%d.left"
1dfa0 2c 20 63 2d 3e 6e 61 6d 65 2c 20 6d 6f 64 65 2c 20 58 50 65 6e 64 69 6e 67 28 64 73 70 6c 79 29 ,.c->name,.mode,.XPending(dsply)
1dfc0 29 3b 0a 23 65 6e 64 69 66 0a 0a 09 69 66 20 28 6d 6f 64 65 20 3d 3d 20 57 49 54 48 44 52 41 57 );.#endif...if.(mode.==.WITHDRAW
1dfe0 29 0a 09 7b 0a 09 09 73 65 74 5f 77 6d 5f 73 74 61 74 65 28 63 2c 20 57 69 74 68 64 72 61 77 6e )..{...set_wm_state(c,.Withdrawn
1e000 53 74 61 74 65 29 3b 0a 09 7d 0a 09 65 6c 73 65 20 2f 2f 52 45 4d 41 50 0a 09 7b 0a 09 09 58 4d State);..}..else.//REMAP..{...XM
1e020 61 70 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 29 3b 0a 09 7d 0a 09 apWindow(dsply,.c->window);..}..
1e040 67 72 61 76 69 74 61 74 65 28 63 2c 20 52 45 4d 4f 56 45 5f 47 52 41 56 49 54 59 29 3b 0a 09 58 gravitate(c,.REMOVE_GRAVITY);..X
1e060 52 65 70 61 72 65 6e 74 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c ReparentWindow(dsply,.c->window,
1e080 20 72 6f 6f 74 2c 20 63 2d 3e 78 2c 20 63 2d 3e 79 29 3b 0a 23 69 66 64 65 66 20 4d 57 4d 5f 48 .root,.c->x,.c->y);.#ifdef.MWM_H
1e0a0 49 4e 54 53 0a 09 69 66 20 28 63 2d 3e 68 61 73 5f 62 6f 72 64 65 72 29 0a 09 7b 0a 09 09 58 53 INTS..if.(c->has_border)..{...XS
1e0c0 65 74 57 69 6e 64 6f 77 42 6f 72 64 65 72 57 69 64 74 68 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 etWindowBorderWidth(dsply,.c->wi
1e0e0 6e 64 6f 77 2c 20 31 29 3b 0a 09 7d 0a 23 65 6c 73 65 0a 09 58 53 65 74 57 69 6e 64 6f 77 42 6f ndow,.1);..}.#else..XSetWindowBo
1e100 72 64 65 72 57 69 64 74 68 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 31 29 3b 0a rderWidth(dsply,.c->window,.1);.
1e120 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 58 46 54 0a 09 58 66 74 44 72 61 77 44 65 73 74 72 6f #endif.#ifdef.XFT..XftDrawDestro
1e140 79 28 63 2d 3e 78 66 74 64 72 61 77 29 3b 0a 23 65 6e 64 69 66 0a 09 58 52 65 6d 6f 76 65 46 72 y(c->xftdraw);.#endif..XRemoveFr
1e160 6f 6d 53 61 76 65 53 65 74 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 29 3b 0a 09 58 44 omSaveSet(dsply,.c->window);..XD
1e180 65 73 74 72 6f 79 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 29 3b 0a 0a estroyWindow(dsply,.c->frame);..
1e1a0 09 69 66 20 28 68 65 61 64 5f 63 6c 69 65 6e 74 20 3d 3d 20 63 29 0a 09 7b 0a 09 09 68 65 61 64 .if.(head_client.==.c)..{...head
1e1c0 5f 63 6c 69 65 6e 74 20 3d 20 63 2d 3e 6e 65 78 74 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 _client.=.c->next;..}..else..{..
1e1e0 09 66 6f 72 20 28 70 20 3d 20 68 65 61 64 5f 63 6c 69 65 6e 74 3b 20 70 20 26 26 20 70 2d 3e 6e .for.(p.=.head_client;.p.&&.p->n
1e200 65 78 74 3b 20 70 20 3d 20 70 2d 3e 6e 65 78 74 29 0a 09 09 7b 0a 09 09 09 69 66 20 28 70 2d 3e ext;.p.=.p->next)...{....if.(p->
1e220 6e 65 78 74 20 3d 3d 20 63 29 0a 09 09 09 7b 0a 09 09 09 09 70 2d 3e 6e 65 78 74 20 3d 20 63 2d next.==.c)....{.....p->next.=.c-
1e240 3e 6e 65 78 74 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 09 69 66 20 28 63 2d 3e 6e 61 6d 65 20 >next;....}...}..}..if.(c->name.
1e260 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 58 46 72 65 65 28 63 2d 3e 6e 61 6d 65 29 3b 0a 09 7d !=.NULL)..{...XFree(c->name);..}
1e280 0a 09 69 66 20 28 63 2d 3e 73 69 7a 65 29 0a 09 7b 0a 09 09 58 46 72 65 65 28 63 2d 3e 73 69 7a ..if.(c->size)..{...XFree(c->siz
1e2a0 65 29 3b 0a 09 7d 0a 09 69 66 20 28 63 20 3d 3d 20 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 e);..}..if.(c.==.fullscreen_clie
1e2c0 6e 74 29 0a 09 7b 0a 09 09 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c nt)..{...fullscreen_client.=.NUL
1e2e0 4c 3b 0a 09 7d 0a 09 69 66 20 28 63 20 3d 3d 20 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 29 0a L;..}..if.(c.==.focused_client).
1e300 09 7b 0a 09 09 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 0a 09 09 63 68 .{...focused_client.=.NULL;...ch
1e320 65 63 6b 5f 66 6f 63 75 73 28 67 65 74 5f 70 72 65 76 5f 66 6f 63 75 73 65 64 28 29 29 3b 0a 09 eck_focus(get_prev_focused());..
1e340 7d 0a 09 66 72 65 65 28 63 29 3b 0a 0a 09 58 53 79 6e 63 28 64 73 70 6c 79 2c 20 46 61 6c 73 65 }..free(c);...XSync(dsply,.False
1e360 29 3b 0a 09 58 53 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 68 61 6e 64 6c 65 5f 78 65 72 72 );..XSetErrorHandler(handle_xerr
1e380 6f 72 29 3b 0a 09 58 55 6e 67 72 61 62 53 65 72 76 65 72 28 64 73 70 6c 79 29 3b 0a 0a 09 72 65 or);..XUngrabServer(dsply);...re
1e3a0 64 72 61 77 5f 74 61 73 6b 62 61 72 28 29 3b 0a 7d 0a 0a 76 6f 69 64 20 72 65 64 72 61 77 28 43 draw_taskbar();.}..void.redraw(C
1e3c0 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 66 20 28 63 20 3d 3d 20 66 75 6c 6c 73 63 72 65 65 6e lient.*c).{..if.(c.==.fullscreen
1e3e0 5f 63 6c 69 65 6e 74 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 3b 0a 09 7d 0a 23 69 66 64 65 66 20 _client)..{...return;..}.#ifdef.
1e400 4d 57 4d 5f 48 49 4e 54 53 0a 09 69 66 20 28 21 63 2d 3e 68 61 73 5f 74 69 74 6c 65 29 0a 09 7b MWM_HINTS..if.(!c->has_title)..{
1e420 0a 09 09 72 65 74 75 72 6e 3b 0a 09 7d 0a 23 65 6e 64 69 66 0a 09 58 44 72 61 77 4c 69 6e 65 28 ...return;..}.#endif..XDrawLine(
1e440 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 62 6f 72 64 65 72 5f 67 63 2c 20 30 2c 20 42 dsply,.c->frame,.border_gc,.0,.B
1e460 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 20 2b 20 44 ARHEIGHT().-.DEF_BORDERWIDTH.+.D
1e480 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 20 2f 20 32 2c 20 63 2d 3e 77 69 64 74 68 2c 20 42 41 EF_BORDERWIDTH./.2,.c->width,.BA
1e4a0 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 20 2b 20 44 45 RHEIGHT().-.DEF_BORDERWIDTH.+.DE
1e4c0 46 5f 42 4f 52 44 45 52 57 49 44 54 48 20 2f 20 32 29 3b 0a 09 2f 2f 20 63 6c 65 61 72 20 74 65 F_BORDERWIDTH./.2);..//.clear.te
1e4e0 78 74 20 70 61 72 74 20 6f 66 20 62 61 72 0a 09 69 66 20 28 63 20 3d 3d 20 66 6f 63 75 73 65 64 xt.part.of.bar..if.(c.==.focused
1e500 5f 63 6c 69 65 6e 74 29 0a 09 7b 0a 09 09 58 46 69 6c 6c 52 65 63 74 61 6e 67 6c 65 28 64 73 70 _client)..{...XFillRectangle(dsp
1e520 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 61 63 74 69 76 65 5f 67 63 2c 20 30 2c 20 30 2c 20 63 ly,.c->frame,.active_gc,.0,.0,.c
1e540 2d 3e 77 69 64 74 68 20 2d 20 28 28 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f ->width.-.((BARHEIGHT().-.DEF_BO
1e560 52 44 45 52 57 49 44 54 48 29 20 2a 20 33 29 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 RDERWIDTH).*.3),.BARHEIGHT().-.D
1e580 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 58 EF_BORDERWIDTH);..}..else..{...X
1e5a0 46 69 6c 6c 52 65 63 74 61 6e 67 6c 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 69 FillRectangle(dsply,.c->frame,.i
1e5c0 6e 61 63 74 69 76 65 5f 67 63 2c 20 30 2c 20 30 2c 20 63 2d 3e 77 69 64 74 68 20 2d 20 28 28 42 nactive_gc,.0,.0,.c->width.-.((B
1e5e0 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 20 2a 20 ARHEIGHT().-.DEF_BORDERWIDTH).*.
1e600 33 29 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 3),.BARHEIGHT().-.DEF_BORDERWIDT
1e620 48 29 3b 0a 09 7d 0a 09 69 66 20 28 21 63 2d 3e 74 72 61 6e 73 20 26 26 20 63 2d 3e 6e 61 6d 65 H);..}..if.(!c->trans.&&.c->name
1e640 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 23 69 66 64 65 66 20 58 46 54 0a 09 09 58 66 74 44 72 61 .!=.NULL)..{.#ifdef.XFT...XftDra
1e660 77 53 74 72 69 6e 67 38 28 63 2d 3e 78 66 74 64 72 61 77 2c 20 26 78 66 74 5f 64 65 74 61 69 6c wString8(c->xftdraw,.&xft_detail
1e680 2c 20 78 66 74 66 6f 6e 74 2c 20 53 50 41 43 45 2c 20 53 50 41 43 45 20 2b 20 78 66 74 66 6f 6e ,.xftfont,.SPACE,.SPACE.+.xftfon
1e6a0 74 2d 3e 61 73 63 65 6e 74 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 63 2d 3e 6e t->ascent,.(unsigned.char.*)c->n
1e6c0 61 6d 65 2c 20 73 74 72 6c 65 6e 28 63 2d 3e 6e 61 6d 65 29 29 3b 0a 23 65 6c 73 65 0a 09 09 58 ame,.strlen(c->name));.#else...X
1e6e0 44 72 61 77 53 74 72 69 6e 67 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 74 65 78 74 DrawString(dsply,.c->frame,.text
1e700 5f 67 63 2c 20 53 50 41 43 45 2c 20 53 50 41 43 45 20 2b 20 66 6f 6e 74 2d 3e 61 73 63 65 6e 74 _gc,.SPACE,.SPACE.+.font->ascent
1e720 2c 20 63 2d 3e 6e 61 6d 65 2c 20 73 74 72 6c 65 6e 28 63 2d 3e 6e 61 6d 65 29 29 3b 0a 23 65 6e ,.c->name,.strlen(c->name));.#en
1e740 64 69 66 0a 09 7d 0a 09 69 66 20 28 63 20 3d 3d 20 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 29 dif..}..if.(c.==.focused_client)
1e760 0a 09 7b 0a 09 09 64 72 61 77 5f 68 69 64 65 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 74 5f ..{...draw_hide_button(c,.&text_
1e780 67 63 2c 20 26 61 63 74 69 76 65 5f 67 63 29 3b 0a 09 09 64 72 61 77 5f 74 6f 67 67 6c 65 64 65 gc,.&active_gc);...draw_togglede
1e7a0 70 74 68 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 74 5f 67 63 2c 20 26 61 63 74 69 76 65 5f pth_button(c,.&text_gc,.&active_
1e7c0 67 63 29 3b 0a 09 09 64 72 61 77 5f 63 6c 6f 73 65 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 gc);...draw_close_button(c,.&tex
1e7e0 74 5f 67 63 2c 20 26 61 63 74 69 76 65 5f 67 63 29 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 t_gc,.&active_gc);..}..else..{..
1e800 09 64 72 61 77 5f 68 69 64 65 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 74 5f 67 63 2c 20 26 .draw_hide_button(c,.&text_gc,.&
1e820 69 6e 61 63 74 69 76 65 5f 67 63 29 3b 0a 09 09 64 72 61 77 5f 74 6f 67 67 6c 65 64 65 70 74 68 inactive_gc);...draw_toggledepth
1e840 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 74 5f 67 63 2c 20 26 69 6e 61 63 74 69 76 65 5f 67 _button(c,.&text_gc,.&inactive_g
1e860 63 29 3b 0a 09 09 64 72 61 77 5f 63 6c 6f 73 65 5f 62 75 74 74 6f 6e 28 63 2c 20 26 74 65 78 74 c);...draw_close_button(c,.&text
1e880 5f 67 63 2c 20 26 69 6e 61 63 74 69 76 65 5f 67 63 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2a 20 57 69 6e _gc,.&inactive_gc);..}.}../*.Win
1e8a0 64 6f 77 20 67 72 61 76 69 74 79 20 69 73 20 61 20 6d 65 73 73 20 74 6f 20 65 78 70 6c 61 69 6e dow.gravity.is.a.mess.to.explain
1e8c0 2c 20 62 75 74 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 64 6f 20 6d 75 63 68 0a 20 ,.but.we.don't.need.to.do.much..
1e8e0 2a 20 61 62 6f 75 74 20 69 74 20 73 69 6e 63 65 20 77 65 27 72 65 20 75 73 69 6e 67 20 58 20 62 *.about.it.since.we're.using.X.b
1e900 6f 72 64 65 72 73 2e 20 46 6f 72 20 4e 6f 72 74 68 57 65 73 74 20 65 74 20 61 6c 2c 20 74 68 65 orders..For.NorthWest.et.al,.the
1e920 20 74 6f 70 0a 20 2a 20 6c 65 66 74 20 63 6f 72 6e 65 72 20 6f 66 20 74 68 65 20 77 69 6e 64 6f .top..*.left.corner.of.the.windo
1e940 77 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 57 4d 20 6e 65 65 64 73 20 74 6f 20 6d w.when.there.is.no.WM.needs.to.m
1e960 61 74 63 68 20 75 70 0a 20 2a 20 77 69 74 68 20 74 68 65 20 74 6f 70 20 6c 65 66 74 20 6f 66 20 atch.up..*.with.the.top.left.of.
1e980 6f 75 72 20 66 72 61 6d 20 6f 6e 63 65 20 77 65 20 6d 61 6e 61 67 65 20 69 74 2c 20 61 6e 64 20 our.fram.once.we.manage.it,.and.
1e9a0 6c 69 6b 65 77 69 73 65 20 77 69 74 68 0a 20 2a 20 53 6f 75 74 68 57 65 73 74 20 61 6e 64 20 74 likewise.with..*.SouthWest.and.t
1e9c0 68 65 20 62 6f 74 74 6f 6d 20 72 69 67 68 74 20 28 74 68 65 73 65 20 61 72 65 20 74 68 65 20 6f he.bottom.right.(these.are.the.o
1e9e0 6e 6c 79 20 76 61 6c 75 65 73 20 49 20 65 76 65 72 0a 20 2a 20 75 73 65 2c 20 62 75 74 20 74 68 nly.values.I.ever..*.use,.but.th
1ea00 65 20 6f 74 68 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 6f 62 76 69 6f 75 73 29 2e 20 4f 75 72 e.others.should.be.obvious)..Our
1ea20 20 74 69 74 6c 65 62 61 72 20 69 73 20 6f 6e 20 74 68 65 20 74 6f 70 0a 20 2a 20 73 6f 20 77 65 .titlebar.is.on.the.top..*.so.we
1ea40 20 6f 6e 6c 79 20 68 61 76 65 20 74 6f 20 61 64 6a 75 73 74 20 69 6e 20 74 68 65 20 66 69 72 73 .only.have.to.adjust.in.the.firs
1ea60 74 20 63 61 73 65 2e 20 2a 2f 0a 0a 76 6f 69 64 20 67 72 61 76 69 74 61 74 65 28 43 6c 69 65 6e t.case..*/..void.gravitate(Clien
1ea80 74 20 2a 63 2c 20 69 6e 74 20 6d 75 6c 74 69 70 6c 69 65 72 29 0a 7b 0a 09 69 6e 74 20 64 79 20 t.*c,.int.multiplier).{..int.dy.
1eaa0 3d 20 30 3b 0a 09 69 6e 74 20 67 72 61 76 69 74 79 20 3d 20 28 63 2d 3e 73 69 7a 65 2d 3e 66 6c =.0;..int.gravity.=.(c->size->fl
1eac0 61 67 73 20 26 20 50 57 69 6e 47 72 61 76 69 74 79 29 20 3f 20 63 2d 3e 73 69 7a 65 2d 3e 77 69 ags.&.PWinGravity).?.c->size->wi
1eae0 6e 5f 67 72 61 76 69 74 79 20 3a 20 4e 6f 72 74 68 57 65 73 74 47 72 61 76 69 74 79 3b 0a 0a 09 n_gravity.:.NorthWestGravity;...
1eb00 73 77 69 74 63 68 20 28 67 72 61 76 69 74 79 29 0a 09 7b 0a 09 09 63 61 73 65 20 4e 6f 72 74 68 switch.(gravity)..{...case.North
1eb20 57 65 73 74 47 72 61 76 69 74 79 3a 0a 09 09 63 61 73 65 20 4e 6f 72 74 68 45 61 73 74 47 72 61 WestGravity:...case.NorthEastGra
1eb40 76 69 74 79 3a 0a 09 09 63 61 73 65 20 4e 6f 72 74 68 47 72 61 76 69 74 79 3a 0a 09 09 09 64 79 vity:...case.NorthGravity:....dy
1eb60 20 3d 20 42 41 52 48 45 49 47 48 54 28 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 .=.BARHEIGHT();....break;...case
1eb80 20 43 65 6e 74 65 72 47 72 61 76 69 74 79 3a 0a 09 09 09 64 79 20 3d 20 42 41 52 48 45 49 47 48 .CenterGravity:....dy.=.BARHEIGH
1eba0 54 28 29 2f 32 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 7d 0a 0a 09 63 2d 3e 79 20 2b 3d 20 6d 75 T()/2;....break;..}...c->y.+=.mu
1ebc0 6c 74 69 70 6c 69 65 72 20 2a 20 64 79 3b 0a 7d 0a 0a 2f 2a 20 57 65 6c 6c 2c 20 74 68 65 20 6d ltiplier.*.dy;.}../*.Well,.the.m
1ebe0 61 6e 20 70 61 67 65 73 20 66 6f 72 20 74 68 65 20 73 68 61 70 65 20 65 78 74 65 6e 73 69 6f 6e an.pages.for.the.shape.extension
1ec00 20 73 61 79 20 6e 6f 74 68 69 6e 67 2c 20 62 75 74 20 49 20 77 61 73 0a 20 2a 20 61 62 6c 65 20 .say.nothing,.but.I.was..*.able.
1ec20 74 6f 20 66 69 6e 64 20 61 20 73 68 61 70 65 2e 50 53 2e 5a 20 6f 6e 20 74 68 65 20 78 2e 6f 72 to.find.a.shape.PS.Z.on.the.x.or
1ec40 67 20 46 54 50 20 73 69 74 65 2e 20 57 68 61 74 20 77 65 20 77 61 6e 74 20 74 6f 20 64 6f 0a 20 g.FTP.site..What.we.want.to.do..
1ec60 2a 20 68 65 72 65 20 69 73 20 6d 61 6b 65 20 74 68 65 20 77 69 6e 64 6f 77 20 73 68 61 70 65 20 *.here.is.make.the.window.shape.
1ec80 62 65 20 61 20 62 6f 6f 6c 65 61 6e 20 4f 52 20 28 6f 72 20 75 6e 69 6f 6e 2c 20 69 66 20 79 6f be.a.boolean.OR.(or.union,.if.yo
1eca0 75 0a 20 2a 20 70 72 65 66 65 72 29 20 6f 66 20 74 68 65 20 63 6c 69 65 6e 74 27 73 20 73 68 61 u..*.prefer).of.the.client's.sha
1ecc0 70 65 20 61 6e 64 20 6f 75 72 20 74 69 74 6c 65 62 61 72 2e 20 54 68 65 20 74 69 74 6c 65 62 61 pe.and.our.titlebar..The.titleba
1ece0 72 0a 20 2a 20 72 65 71 75 69 72 65 73 20 62 6f 74 68 20 61 20 62 6f 75 6e 64 20 61 6e 64 20 61 r..*.requires.both.a.bound.and.a
1ed00 20 63 6c 69 70 20 62 65 63 61 75 73 65 20 69 74 20 68 61 73 20 61 20 62 6f 72 64 65 72 20 2d 2d .clip.because.it.has.a.border.--
1ed20 20 74 68 65 20 58 0a 20 2a 20 73 65 72 76 65 72 20 77 69 6c 6c 20 70 61 69 6e 74 20 74 68 65 20 .the.X..*.server.will.paint.the.
1ed40 62 6f 72 64 65 72 20 69 6e 20 74 68 65 20 72 65 67 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 border.in.the.region.between.the
1ed60 20 74 77 6f 2e 20 28 49 20 6b 6e 65 77 0a 20 2a 20 74 68 61 74 20 75 73 69 6e 67 20 58 20 62 6f .two..(I.knew..*.that.using.X.bo
1ed80 72 64 65 72 73 20 77 6f 75 6c 64 20 67 65 74 20 6d 65 20 65 76 65 6e 74 75 61 6c 6c 79 2e 2e 2e rders.would.get.me.eventually...
1eda0 20 3b 2d 29 29 20 2a 2f 0a 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 76 6f 69 64 20 73 65 74 5f .;-)).*/..#ifdef.SHAPE.void.set_
1edc0 73 68 61 70 65 28 43 6c 69 65 6e 74 20 2a 63 29 0a 7b 0a 09 69 6e 74 20 6e 2c 20 6f 72 64 65 72 shape(Client.*c).{..int.n,.order
1ede0 3b 0a 09 58 52 65 63 74 61 6e 67 6c 65 20 74 65 6d 70 2c 20 2a 64 75 6d 6d 79 3b 0a 0a 09 64 75 ;..XRectangle.temp,.*dummy;...du
1ee00 6d 6d 79 20 3d 20 58 53 68 61 70 65 47 65 74 52 65 63 74 61 6e 67 6c 65 73 28 64 73 70 6c 79 2c mmy.=.XShapeGetRectangles(dsply,
1ee20 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 53 68 61 70 65 42 6f 75 6e 64 69 6e 67 2c 20 26 6e 2c 20 26 .c->window,.ShapeBounding,.&n,.&
1ee40 6f 72 64 65 72 29 3b 0a 09 69 66 20 28 6e 20 3e 20 31 29 0a 09 7b 0a 09 09 58 53 68 61 70 65 43 order);..if.(n.>.1)..{...XShapeC
1ee60 6f 6d 62 69 6e 65 53 68 61 70 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 53 68 61 ombineShape(dsply,.c->frame,.Sha
1ee80 70 65 42 6f 75 6e 64 69 6e 67 2c 20 30 2c 20 42 41 52 48 45 49 47 48 54 28 29 2c 20 63 2d 3e 77 peBounding,.0,.BARHEIGHT(),.c->w
1eea0 69 6e 64 6f 77 2c 20 53 68 61 70 65 42 6f 75 6e 64 69 6e 67 2c 20 53 68 61 70 65 53 65 74 29 3b indow,.ShapeBounding,.ShapeSet);
1eec0 0a 09 09 74 65 6d 70 2e 78 20 3d 20 2d 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 74 ...temp.x.=.-BORDERWIDTH(c);...t
1eee0 65 6d 70 2e 79 20 3d 20 2d 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 74 65 6d 70 2e emp.y.=.-BORDERWIDTH(c);...temp.
1ef00 77 69 64 74 68 20 3d 20 63 2d 3e 77 69 64 74 68 20 2b 20 28 32 20 2a 20 42 4f 52 44 45 52 57 49 width.=.c->width.+.(2.*.BORDERWI
1ef20 44 54 48 28 63 29 29 3b 0a 09 09 74 65 6d 70 2e 68 65 69 67 68 74 20 3d 20 42 41 52 48 45 49 47 DTH(c));...temp.height.=.BARHEIG
1ef40 48 54 28 29 20 2b 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 58 53 68 61 70 65 43 HT().+.BORDERWIDTH(c);...XShapeC
1ef60 6f 6d 62 69 6e 65 52 65 63 74 61 6e 67 6c 65 73 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 ombineRectangles(dsply,.c->frame
1ef80 2c 20 53 68 61 70 65 42 6f 75 6e 64 69 6e 67 2c 20 30 2c 20 30 2c 20 26 74 65 6d 70 2c 20 31 2c ,.ShapeBounding,.0,.0,.&temp,.1,
1efa0 20 53 68 61 70 65 55 6e 69 6f 6e 2c 20 59 58 42 61 6e 64 65 64 29 3b 0a 09 09 74 65 6d 70 2e 78 .ShapeUnion,.YXBanded);...temp.x
1efc0 20 3d 20 30 3b 0a 09 09 74 65 6d 70 2e 79 20 3d 20 30 3b 0a 09 09 74 65 6d 70 2e 77 69 64 74 68 .=.0;...temp.y.=.0;...temp.width
1efe0 20 3d 20 63 2d 3e 77 69 64 74 68 3b 0a 09 09 74 65 6d 70 2e 68 65 69 67 68 74 20 3d 20 42 41 52 .=.c->width;...temp.height.=.BAR
1f000 48 45 49 47 48 54 28 29 20 2d 20 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 58 53 68 HEIGHT().-.BORDERWIDTH(c);...XSh
1f020 61 70 65 43 6f 6d 62 69 6e 65 52 65 63 74 61 6e 67 6c 65 73 28 64 73 70 6c 79 2c 20 63 2d 3e 66 apeCombineRectangles(dsply,.c->f
1f040 72 61 6d 65 2c 20 53 68 61 70 65 43 6c 69 70 2c 20 30 2c 20 42 41 52 48 45 49 47 48 54 28 29 2c rame,.ShapeClip,.0,.BARHEIGHT(),
1f060 20 26 74 65 6d 70 2c 20 31 2c 20 53 68 61 70 65 55 6e 69 6f 6e 2c 20 59 58 42 61 6e 64 65 64 29 .&temp,.1,.ShapeUnion,.YXBanded)
1f080 3b 0a 09 09 63 2d 3e 68 61 73 5f 62 65 65 6e 5f 73 68 61 70 65 64 20 3d 20 31 3b 0a 09 7d 0a 09 ;...c->has_been_shaped.=.1;..}..
1f0a0 65 6c 73 65 0a 09 7b 0a 09 09 69 66 20 28 63 2d 3e 68 61 73 5f 62 65 65 6e 5f 73 68 61 70 65 64 else..{...if.(c->has_been_shaped
1f0c0 29 0a 09 09 7b 0a 09 09 09 2f 2f 20 49 20 63 61 6e 27 74 20 66 69 6e 64 20 61 20 27 72 65 6d 6f )...{....//.I.can't.find.a.'remo
1f0e0 76 65 20 61 6c 6c 20 73 68 61 70 69 6e 67 27 20 66 75 6e 63 74 69 6f 6e 2e 2e 2e 0a 09 09 09 74 ve.all.shaping'.function.......t
1f100 65 6d 70 2e 78 20 3d 20 2d 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 74 65 6d 70 emp.x.=.-BORDERWIDTH(c);....temp
1f120 2e 79 20 3d 20 2d 42 4f 52 44 45 52 57 49 44 54 48 28 63 29 3b 0a 09 09 09 74 65 6d 70 2e 77 69 .y.=.-BORDERWIDTH(c);....temp.wi
1f140 64 74 68 20 3d 20 63 2d 3e 77 69 64 74 68 20 2b 20 28 32 20 2a 20 42 4f 52 44 45 52 57 49 44 54 dth.=.c->width.+.(2.*.BORDERWIDT
1f160 48 28 63 29 29 3b 0a 09 09 09 74 65 6d 70 2e 68 65 69 67 68 74 20 3d 20 63 2d 3e 68 65 69 67 68 H(c));....temp.height.=.c->heigh
1f180 74 20 2b 20 42 41 52 48 45 49 47 48 54 28 29 20 2b 20 28 32 20 2a 20 42 4f 52 44 45 52 57 49 44 t.+.BARHEIGHT().+.(2.*.BORDERWID
1f1a0 54 48 28 63 29 29 3b 0a 09 09 09 58 53 68 61 70 65 43 6f 6d 62 69 6e 65 52 65 63 74 61 6e 67 6c TH(c));....XShapeCombineRectangl
1f1c0 65 73 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 53 68 61 70 65 42 6f 75 6e 64 69 6e es(dsply,.c->frame,.ShapeBoundin
1f1e0 67 2c 20 30 2c 20 30 2c 20 26 74 65 6d 70 2c 20 31 2c 20 53 68 61 70 65 53 65 74 2c 20 59 58 42 g,.0,.0,.&temp,.1,.ShapeSet,.YXB
1f200 61 6e 64 65 64 29 3b 0a 09 09 7d 0a 09 7d 0a 09 58 46 72 65 65 28 64 75 6d 6d 79 29 3b 0a 7d 0a anded);...}..}..XFree(dummy);.}.
1f220 23 65 6e 64 69 66 0a 0a 76 6f 69 64 20 63 68 65 63 6b 5f 66 6f 63 75 73 28 43 6c 69 65 6e 74 20 #endif..void.check_focus(Client.
1f240 2a 63 29 0a 7b 0a 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 58 53 65 74 49 *c).{..if.(c.!=.NULL)..{...XSetI
1f260 6e 70 75 74 46 6f 63 75 73 28 64 73 70 6c 79 2c 20 63 2d 3e 77 69 6e 64 6f 77 2c 20 52 65 76 65 nputFocus(dsply,.c->window,.Reve
1f280 72 74 54 6f 4e 6f 6e 65 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 0a 09 09 58 49 6e 73 74 61 rtToNone,.CurrentTime);...XInsta
1f2a0 6c 6c 43 6f 6c 6f 72 6d 61 70 28 64 73 70 6c 79 2c 20 63 2d 3e 63 6d 61 70 29 3b 0a 09 7d 0a 09 llColormap(dsply,.c->cmap);..}..
1f2c0 69 66 20 28 63 20 21 3d 20 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 29 0a 09 7b 0a 09 09 43 6c if.(c.!=.focused_client)..{...Cl
1f2e0 69 65 6e 74 20 2a 6f 6c 64 5f 66 6f 63 75 73 65 64 20 3d 20 66 6f 63 75 73 65 64 5f 63 6c 69 65 ient.*old_focused.=.focused_clie
1f300 6e 74 3b 0a 09 09 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 20 3d 20 63 3b 0a 09 09 66 6f 63 75 nt;...focused_client.=.c;...focu
1f320 73 5f 63 6f 75 6e 74 2b 2b 3b 0a 09 09 69 66 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 09 7b 0a s_count++;...if.(c.!=.NULL)...{.
1f340 09 09 09 63 2d 3e 66 6f 63 75 73 5f 6f 72 64 65 72 20 3d 20 66 6f 63 75 73 5f 63 6f 75 6e 74 3b ...c->focus_order.=.focus_count;
1f360 0a 09 09 09 72 65 64 72 61 77 28 63 29 3b 0a 09 09 7d 0a 09 09 69 66 20 28 6f 6c 64 5f 66 6f 63 ....redraw(c);...}...if.(old_foc
1f380 75 73 65 64 20 21 3d 20 4e 55 4c 4c 29 0a 09 09 7b 0a 09 09 09 72 65 64 72 61 77 28 6f 6c 64 5f used.!=.NULL)...{....redraw(old_
1f3a0 66 6f 63 75 73 65 64 29 3b 0a 09 09 7d 0a 09 09 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 29 focused);...}...redraw_taskbar()
1f3c0 3b 0a 09 7d 0a 7d 0a 0a 43 6c 69 65 6e 74 20 2a 67 65 74 5f 70 72 65 76 5f 66 6f 63 75 73 65 64 ;..}.}..Client.*get_prev_focused
1f3e0 28 76 6f 69 64 29 0a 7b 0a 09 43 6c 69 65 6e 74 20 2a 63 20 3d 20 68 65 61 64 5f 63 6c 69 65 6e (void).{..Client.*c.=.head_clien
1f400 74 3b 0a 09 43 6c 69 65 6e 74 20 2a 70 72 65 76 5f 66 6f 63 75 73 65 64 20 3d 20 4e 55 4c 4c 3b t;..Client.*prev_focused.=.NULL;
1f420 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 68 69 67 68 65 73 74 20 3d 20 30 3b 0a 0a 09 77 68 ..unsigned.int.highest.=.0;...wh
1f440 69 6c 65 20 28 63 20 21 3d 20 4e 55 4c 4c 29 0a 09 7b 0a 09 09 69 66 20 28 21 63 2d 3e 68 69 64 ile.(c.!=.NULL)..{...if.(!c->hid
1f460 64 65 6e 20 26 26 20 63 2d 3e 66 6f 63 75 73 5f 6f 72 64 65 72 20 3e 20 68 69 67 68 65 73 74 29 den.&&.c->focus_order.>.highest)
1f480 0a 09 09 7b 0a 09 09 09 68 69 67 68 65 73 74 20 3d 20 63 2d 3e 66 6f 63 75 73 5f 6f 72 64 65 72 ...{....highest.=.c->focus_order
1f4a0 3b 0a 09 09 09 70 72 65 76 5f 66 6f 63 75 73 65 64 20 3d 20 63 3b 0a 09 09 7d 0a 09 09 63 20 3d ;....prev_focused.=.c;...}...c.=
1f4c0 20 63 2d 3e 6e 65 78 74 3b 0a 09 7d 0a 09 72 65 74 75 72 6e 20 70 72 65 76 5f 66 6f 63 75 73 65 .c->next;..}..return.prev_focuse
1f4e0 64 3b 0a 7d 0a 0a 76 6f 69 64 20 64 72 61 77 5f 68 69 64 65 5f 62 75 74 74 6f 6e 28 43 6c 69 65 d;.}..void.draw_hide_button(Clie
1f500 6e 74 20 2a 63 2c 20 47 43 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 47 43 20 2a 62 61 63 6b 67 72 nt.*c,.GC.*detail_gc,.GC.*backgr
1f520 6f 75 6e 64 5f 67 63 29 0a 7b 0a 09 69 6e 74 20 78 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 ound_gc).{..int.x,.topleft_offse
1f540 74 3b 0a 09 78 20 3d 20 63 2d 3e 77 69 64 74 68 20 2d 20 28 28 42 41 52 48 45 49 47 48 54 28 29 t;..x.=.c->width.-.((BARHEIGHT()
1f560 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 20 2a 20 33 29 3b 0a 09 74 6f 70 6c 65 .-.DEF_BORDERWIDTH).*.3);..tople
1f580 66 74 5f 6f 66 66 73 65 74 20 3d 20 28 42 41 52 48 45 49 47 48 54 28 29 20 2f 20 32 29 20 2d 20 ft_offset.=.(BARHEIGHT()./.2).-.
1f5a0 35 3b 20 2f 2f 20 35 20 62 65 69 6e 67 20 7e 68 61 6c 66 20 6f 66 20 39 0a 09 58 46 69 6c 6c 52 5;.//.5.being.~half.of.9..XFillR
1f5c0 65 63 74 61 6e 67 6c 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 62 61 63 6b 67 ectangle(dsply,.c->frame,.*backg
1f5e0 72 6f 75 6e 64 5f 67 63 2c 20 78 2c 20 30 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 round_gc,.x,.0,.BARHEIGHT().-.DE
1f600 46 5f 42 4f 52 44 45 52 57 49 44 54 48 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 F_BORDERWIDTH,.BARHEIGHT().-.DEF
1f620 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 6c 79 _BORDERWIDTH);...XDrawLine(dsply
1f640 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 6c ,.c->frame,.*detail_gc,.x.+.topl
1f660 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 34 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b eft_offset.+.4,.topleft_offset.+
1f680 20 32 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 34 2c 20 74 6f 70 6c .2,.x.+.topleft_offset.+.4,.topl
1f6a0 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 30 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 6c eft_offset.+.0);..XDrawLine(dspl
1f6c0 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 y,.c->frame,.*detail_gc,.x.+.top
1f6e0 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 36 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 left_offset.+.6,.topleft_offset.
1f700 2b 20 32 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 2c 20 74 6f 70 +.2,.x.+.topleft_offset.+.7,.top
1f720 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 31 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 left_offset.+.1);..XDrawLine(dsp
1f740 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f ly,.c->frame,.*detail_gc,.x.+.to
1f760 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 36 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 pleft_offset.+.6,.topleft_offset
1f780 20 2b 20 34 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 38 2c 20 74 6f .+.4,.x.+.topleft_offset.+.8,.to
1f7a0 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 34 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 pleft_offset.+.4);..XDrawLine(ds
1f7c0 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 ply,.c->frame,.*detail_gc,.x.+.t
1f7e0 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 36 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 opleft_offset.+.6,.topleft_offse
1f800 74 20 2b 20 36 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 2c 20 74 t.+.6,.x.+.topleft_offset.+.7,.t
1f820 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 opleft_offset.+.7);..XDrawLine(d
1f840 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 sply,.c->frame,.*detail_gc,.x.+.
1f860 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 34 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 topleft_offset.+.4,.topleft_offs
1f880 65 74 20 2b 20 36 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 34 2c 20 et.+.6,.x.+.topleft_offset.+.4,.
1f8a0 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 38 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 topleft_offset.+.8);..XDrawLine(
1f8c0 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b dsply,.c->frame,.*detail_gc,.x.+
1f8e0 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 32 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 .topleft_offset.+.2,.topleft_off
1f900 73 65 74 20 2b 20 36 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 31 2c set.+.6,.x.+.topleft_offset.+.1,
1f920 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 .topleft_offset.+.7);..XDrawLine
1f940 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 (dsply,.c->frame,.*detail_gc,.x.
1f960 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 32 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 +.topleft_offset.+.2,.topleft_of
1f980 66 73 65 74 20 2b 20 34 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 30 fset.+.4,.x.+.topleft_offset.+.0
1f9a0 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 34 29 3b 0a 09 58 44 72 61 77 4c 69 6e ,.topleft_offset.+.4);..XDrawLin
1f9c0 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 e(dsply,.c->frame,.*detail_gc,.x
1f9e0 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 32 2c 20 74 6f 70 6c 65 66 74 5f 6f .+.topleft_offset.+.2,.topleft_o
1fa00 66 66 73 65 74 20 2b 20 32 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 ffset.+.2,.x.+.topleft_offset.+.
1fa20 31 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 31 29 3b 0a 7d 0a 0a 76 6f 69 64 20 1,.topleft_offset.+.1);.}..void.
1fa40 64 72 61 77 5f 74 6f 67 67 6c 65 64 65 70 74 68 5f 62 75 74 74 6f 6e 28 43 6c 69 65 6e 74 20 2a draw_toggledepth_button(Client.*
1fa60 63 2c 20 47 43 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 47 43 20 2a 62 61 63 6b 67 72 6f 75 6e 64 c,.GC.*detail_gc,.GC.*background
1fa80 5f 67 63 29 0a 7b 0a 09 69 6e 74 20 78 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 3b 0a 09 _gc).{..int.x,.topleft_offset;..
1faa0 78 20 3d 20 63 2d 3e 77 69 64 74 68 20 2d 20 28 28 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 x.=.c->width.-.((BARHEIGHT().-.D
1fac0 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 20 2a 20 32 29 3b 0a 09 74 6f 70 6c 65 66 74 5f 6f EF_BORDERWIDTH).*.2);..topleft_o
1fae0 66 66 73 65 74 20 3d 20 28 42 41 52 48 45 49 47 48 54 28 29 20 2f 20 32 29 20 2d 20 36 3b 20 2f ffset.=.(BARHEIGHT()./.2).-.6;./
1fb00 2f 20 36 20 62 65 69 6e 67 20 7e 68 61 6c 66 20 6f 66 20 31 31 0a 09 58 46 69 6c 6c 52 65 63 74 /.6.being.~half.of.11..XFillRect
1fb20 61 6e 67 6c 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 62 61 63 6b 67 72 6f 75 angle(dsply,.c->frame,.*backgrou
1fb40 6e 64 5f 67 63 2c 20 78 2c 20 30 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 nd_gc,.x,.0,.BARHEIGHT().-.DEF_B
1fb60 4f 52 44 45 52 57 49 44 54 48 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f ORDERWIDTH,.BARHEIGHT().-.DEF_BO
1fb80 52 44 45 52 57 49 44 54 48 29 3b 0a 0a 09 58 44 72 61 77 52 65 63 74 61 6e 67 6c 65 28 64 73 70 RDERWIDTH);...XDrawRectangle(dsp
1fba0 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f ly,.c->frame,.*detail_gc,.x.+.to
1fbc0 70 6c 65 66 74 5f 6f 66 66 73 65 74 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 2c 20 37 2c pleft_offset,.topleft_offset,.7,
1fbe0 20 37 29 3b 0a 09 58 44 72 61 77 52 65 63 74 61 6e 67 6c 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 .7);..XDrawRectangle(dsply,.c->f
1fc00 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 rame,.*detail_gc,.x.+.topleft_of
1fc20 66 73 65 74 20 2b 20 33 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 33 2c 20 37 2c fset.+.3,.topleft_offset.+.3,.7,
1fc40 20 37 29 3b 0a 7d 0a 0a 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 73 65 5f 62 75 74 74 6f 6e 28 43 .7);.}..void.draw_close_button(C
1fc60 6c 69 65 6e 74 20 2a 63 2c 20 47 43 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 47 43 20 2a 62 61 63 lient.*c,.GC.*detail_gc,.GC.*bac
1fc80 6b 67 72 6f 75 6e 64 5f 67 63 29 0a 7b 0a 09 69 6e 74 20 78 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 kground_gc).{..int.x,.topleft_of
1fca0 66 73 65 74 3b 0a 09 78 20 3d 20 63 2d 3e 77 69 64 74 68 20 2d 20 28 42 41 52 48 45 49 47 48 54 fset;..x.=.c->width.-.(BARHEIGHT
1fcc0 28 29 20 2d 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 3b 0a 09 74 6f 70 6c 65 66 74 5f ().-.DEF_BORDERWIDTH);..topleft_
1fce0 6f 66 66 73 65 74 20 3d 20 28 42 41 52 48 45 49 47 48 54 28 29 20 2f 20 32 29 20 2d 20 35 3b 20 offset.=.(BARHEIGHT()./.2).-.5;.
1fd00 2f 2f 20 35 20 62 65 69 6e 67 20 7e 68 61 6c 66 20 6f 66 20 39 0a 09 58 46 69 6c 6c 52 65 63 74 //.5.being.~half.of.9..XFillRect
1fd20 61 6e 67 6c 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 62 61 63 6b 67 72 6f 75 angle(dsply,.c->frame,.*backgrou
1fd40 6e 64 5f 67 63 2c 20 78 2c 20 30 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 nd_gc,.x,.0,.BARHEIGHT().-.DEF_B
1fd60 4f 52 44 45 52 57 49 44 54 48 2c 20 42 41 52 48 45 49 47 48 54 28 29 20 2d 20 44 45 46 5f 42 4f ORDERWIDTH,.BARHEIGHT().-.DEF_BO
1fd80 52 44 45 52 57 49 44 54 48 29 3b 0a 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 6c 79 2c 20 63 RDERWIDTH);...XDrawLine(dsply,.c
1fda0 2d 3e 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 ->frame,.*detail_gc,.x.+.topleft
1fdc0 5f 6f 66 66 73 65 74 20 2b 20 31 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 2c 20 78 20 2b _offset.+.1,.topleft_offset,.x.+
1fde0 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 38 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 .topleft_offset.+.8,.topleft_off
1fe00 73 65 74 20 2b 20 37 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 set.+.7);..XDrawLine(dsply,.c->f
1fe20 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 rame,.*detail_gc,.x.+.topleft_of
1fe40 66 73 65 74 20 2b 20 31 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 31 2c 20 78 20 fset.+.1,.topleft_offset.+.1,.x.
1fe60 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 +.topleft_offset.+.7,.topleft_of
1fe80 66 73 65 74 20 2b 20 37 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 6c 79 2c 20 63 2d 3e fset.+.7);..XDrawLine(dsply,.c->
1fea0 66 72 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f frame,.*detail_gc,.x.+.topleft_o
1fec0 66 66 73 65 74 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 31 2c 20 78 20 2b 20 74 ffset,.topleft_offset.+.1,.x.+.t
1fee0 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 opleft_offset.+.7,.topleft_offse
1ff00 74 20 2b 20 38 29 3b 0a 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 t.+.8);...XDrawLine(dsply,.c->fr
1ff20 61 6d 65 2c 20 2a 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 ame,.*detail_gc,.x.+.topleft_off
1ff40 73 65 74 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 2c 20 78 20 2b 20 74 6f 70 set,.topleft_offset.+.7,.x.+.top
1ff60 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 29 left_offset.+.7,.topleft_offset)
1ff80 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a 64 ;..XDrawLine(dsply,.c->frame,.*d
1ffa0 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 31 etail_gc,.x.+.topleft_offset.+.1
1ffc0 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 37 2c 20 78 20 2b 20 74 6f 70 6c 65 66 ,.topleft_offset.+.7,.x.+.toplef
1ffe0 74 5f 6f 66 66 73 65 74 20 2b 20 37 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 31 t_offset.+.7,.topleft_offset.+.1
20000 29 3b 0a 09 58 44 72 61 77 4c 69 6e 65 28 64 73 70 6c 79 2c 20 63 2d 3e 66 72 61 6d 65 2c 20 2a );..XDrawLine(dsply,.c->frame,.*
20020 64 65 74 61 69 6c 5f 67 63 2c 20 78 20 2b 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 detail_gc,.x.+.topleft_offset.+.
20040 31 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 38 2c 20 78 20 2b 20 74 6f 70 6c 65 1,.topleft_offset.+.8,.x.+.tople
20060 66 74 5f 6f 66 66 73 65 74 20 2b 20 38 2c 20 74 6f 70 6c 65 66 74 5f 6f 66 66 73 65 74 20 2b 20 ft_offset.+.8,.topleft_offset.+.
20080 31 29 3b 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1);.}...........................
200a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20200 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 77 69 6e 64 6f 77 6c 61 62 2e 68 00 00 00 00 00 00 windowlab-1.40/windowlab.h......
20220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
20280 30 30 32 33 32 35 33 00 31 31 33 35 36 31 35 35 32 31 32 00 30 31 34 32 32 33 00 20 30 00 00 00 0023253.11356155212.014223..0...
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
20320 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 2f 2a 20 57 69 6e 64 6f 77 4c 61 62 20 2d 20 61 6e 20 58 31 31 20 77 69 6e 64 6f 77 20 6d 61 6e /*.WindowLab.-.an.X11.window.man
20420 61 67 65 72 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2d 32 30 31 30 20 ager..*.Copyright.(c).2001-2010.
20440 4e 69 63 6b 20 47 72 61 76 67 61 61 72 64 0a 20 2a 20 6d 65 20 61 74 20 6e 69 63 6b 67 72 61 76 Nick.Gravgaard..*.me.at.nickgrav
20460 67 61 61 72 64 2e 63 6f 6d 0a 20 2a 20 68 74 74 70 3a 2f 2f 6e 69 63 6b 67 72 61 76 67 61 61 72 gaard.com..*.http://nickgravgaar
20480 64 2e 63 6f 6d 2f 77 69 6e 64 6f 77 6c 61 62 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 d.com/windowlab/..*..*.This.prog
204a0 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
204c0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 distribute.it.and/or..*.modify.i
204e0 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e t.under.the.terms.of.the.GNU.Gen
20500 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 eral.Public.License..*.as.publis
20520 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
20540 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 ion;.either.version.2..*.of.the.
20560 4c 69 63 65 6e 73 65 2c 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 License,.or.any.later.version...
20580 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 *..*.This.program.is.distributed
205a0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
205c0 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 ful,..*.but.WITHOUT.ANY.WARRANTY
205e0 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 ;.without.even.the.implied.warra
20600 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 nty.of..*.MERCHANTABILITY.or.FIT
20620 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
20640 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 See.the..*.GNU.General.Public.Li
20660 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f cense.for.more.details...*..*.Yo
20680 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
206a0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
206c0 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e .*.along.with.this.program;.if.n
206e0 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 ot,.write.to.the.Free.Software..
20700 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 *.Foundation,.Inc.,.51.Franklin.
20720 53 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 St,.Fifth.Floor,.Boston,.MA..021
20740 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 20 2a 2f 0a 0a 23 69 66 6e 64 65 66 20 57 49 4e 44 4f 10-1301,.USA...*/..#ifndef.WINDO
20760 57 4c 41 42 5f 48 0a 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 4c 41 42 5f 48 0a 0a 23 64 65 66 WLAB_H.#define.WINDOWLAB_H..#def
20780 69 6e 65 20 56 45 52 53 49 4f 4e 20 22 31 2e 34 30 22 0a 23 64 65 66 69 6e 65 20 52 45 4c 45 41 ine.VERSION."1.40".#define.RELEA
207a0 53 45 44 41 54 45 20 22 32 30 31 30 2d 30 34 2d 30 34 22 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 65 SEDATE."2010-04-04"..#include.<e
207c0 72 72 6e 6f 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 6c 69 6d 69 74 73 2e 68 3e 0a 23 69 6e 63 rrno.h>.#include.<limits.h>.#inc
207e0 6c 75 64 65 20 3c 70 77 64 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 0a lude.<pwd.h>.#include.<stdio.h>.
20800 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 #include.<stdlib.h>.#include.<st
20820 72 69 6e 67 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 79 70 65 73 2e 68 3e 0a 23 ring.h>.#include.<sys/types.h>.#
20840 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 include.<unistd.h>.#include.<X11
20860 2f 58 6c 69 62 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 6d 64 2e 68 3e 0a 23 69 /Xlib.h>.#include.<X11/Xmd.h>.#i
20880 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 75 74 69 6c 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 58 nclude.<X11/Xutil.h>.#include.<X
208a0 31 31 2f 6b 65 79 73 79 6d 2e 68 3e 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 23 69 6e 63 6c 75 11/keysym.h>.#ifdef.SHAPE.#inclu
208c0 64 65 20 3c 58 31 31 2f 65 78 74 65 6e 73 69 6f 6e 73 2f 73 68 61 70 65 2e 68 3e 0a 23 65 6e 64 de.<X11/extensions/shape.h>.#end
208e0 69 66 0a 23 69 66 64 65 66 20 58 46 54 0a 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 66 74 2f if.#ifdef.XFT.#include.<X11/Xft/
20900 58 66 74 2e 68 3e 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a Xft.h>.#endif..#ifdef.MWM_HINTS.
20920 2f 2f 20 54 68 65 73 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 74 61 6b 65 6e 20 66 //.These.definitions.are.taken.f
20940 72 6f 6d 20 4c 65 73 73 54 69 66 20 30 2e 39 35 2e 30 27 73 20 4d 77 6d 55 74 69 6c 2e 68 2e 0a rom.LessTif.0.95.0's.MwmUtil.h..
20960 0a 23 64 65 66 69 6e 65 20 4d 57 4d 5f 48 49 4e 54 53 5f 46 55 4e 43 54 49 4f 4e 53 20 28 31 4c .#define.MWM_HINTS_FUNCTIONS.(1L
20980 20 3c 3c 20 30 29 0a 23 64 65 66 69 6e 65 20 4d 57 4d 5f 48 49 4e 54 53 5f 44 45 43 4f 52 41 54 .<<.0).#define.MWM_HINTS_DECORAT
209a0 49 4f 4e 53 20 28 31 4c 20 3c 3c 20 31 29 0a 23 64 65 66 69 6e 65 20 4d 57 4d 5f 48 49 4e 54 53 IONS.(1L.<<.1).#define.MWM_HINTS
209c0 5f 49 4e 50 55 54 5f 4d 4f 44 45 20 28 31 4c 20 3c 3c 20 32 29 0a 23 64 65 66 69 6e 65 20 4d 57 _INPUT_MODE.(1L.<<.2).#define.MW
209e0 4d 5f 48 49 4e 54 53 5f 53 54 41 54 55 53 20 28 31 4c 20 3c 3c 20 33 29 0a 0a 23 64 65 66 69 6e M_HINTS_STATUS.(1L.<<.3)..#defin
20a00 65 20 4d 57 4d 5f 44 45 43 4f 52 5f 41 4c 4c 20 28 31 4c 20 3c 3c 20 30 29 0a 23 64 65 66 69 6e e.MWM_DECOR_ALL.(1L.<<.0).#defin
20a20 65 20 4d 57 4d 5f 44 45 43 4f 52 5f 42 4f 52 44 45 52 20 28 31 4c 20 3c 3c 20 31 29 0a 23 64 65 e.MWM_DECOR_BORDER.(1L.<<.1).#de
20a40 66 69 6e 65 20 4d 57 4d 5f 44 45 43 4f 52 5f 52 45 53 49 5a 45 48 20 28 31 4c 20 3c 3c 20 32 29 fine.MWM_DECOR_RESIZEH.(1L.<<.2)
20a60 0a 23 64 65 66 69 6e 65 20 4d 57 4d 5f 44 45 43 4f 52 5f 54 49 54 4c 45 20 28 31 4c 20 3c 3c 20 .#define.MWM_DECOR_TITLE.(1L.<<.
20a80 33 29 0a 23 64 65 66 69 6e 65 20 4d 57 4d 5f 44 45 43 4f 52 5f 4d 45 4e 55 20 28 31 4c 20 3c 3c 3).#define.MWM_DECOR_MENU.(1L.<<
20aa0 20 34 29 0a 23 64 65 66 69 6e 65 20 4d 57 4d 5f 44 45 43 4f 52 5f 4d 49 4e 49 4d 49 5a 45 20 28 .4).#define.MWM_DECOR_MINIMIZE.(
20ac0 31 4c 20 3c 3c 20 35 29 0a 23 64 65 66 69 6e 65 20 4d 57 4d 5f 44 45 43 4f 52 5f 4d 41 58 49 4d 1L.<<.5).#define.MWM_DECOR_MAXIM
20ae0 49 5a 45 20 28 31 4c 20 3c 3c 20 36 29 0a 0a 23 64 65 66 69 6e 65 20 5f 58 41 5f 4d 57 4d 5f 48 IZE.(1L.<<.6)..#define._XA_MWM_H
20b00 49 4e 54 53 20 22 5f 4d 4f 54 49 46 5f 57 4d 5f 48 49 4e 54 53 22 0a 0a 23 64 65 66 69 6e 65 20 INTS."_MOTIF_WM_HINTS"..#define.
20b20 50 52 4f 50 5f 4d 57 4d 5f 48 49 4e 54 53 5f 45 4c 45 4d 45 4e 54 53 09 35 0a 0a 74 79 70 65 64 PROP_MWM_HINTS_ELEMENTS.5..typed
20b40 65 66 20 73 74 72 75 63 74 20 50 72 6f 70 4d 77 6d 48 69 6e 74 73 0a 7b 0a 09 43 41 52 44 33 32 ef.struct.PropMwmHints.{..CARD32
20b60 20 66 6c 61 67 73 3b 0a 09 43 41 52 44 33 32 20 66 75 6e 63 74 69 6f 6e 73 3b 0a 09 43 41 52 44 .flags;..CARD32.functions;..CARD
20b80 33 32 20 64 65 63 6f 72 61 74 69 6f 6e 73 3b 0a 09 49 4e 54 33 32 20 69 6e 70 75 74 4d 6f 64 65 32.decorations;..INT32.inputMode
20ba0 3b 0a 09 43 41 52 44 33 32 20 73 74 61 74 75 73 3b 0a 7d 20 50 72 6f 70 4d 77 6d 48 69 6e 74 73 ;..CARD32.status;.}.PropMwmHints
20bc0 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 6e 64 65 66 20 50 41 54 48 5f 4d 41 58 0a 23 64 65 66 69 ;.#endif..#ifndef.PATH_MAX.#defi
20be0 6e 65 20 50 41 54 48 5f 4d 41 58 20 34 30 39 36 0a 23 65 6e 64 69 66 0a 0a 2f 2f 20 68 65 72 65 ne.PATH_MAX.4096.#endif..//.here
20c00 20 61 72 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 20 2d 20 63 68 61 6e .are.the.default.settings.-.chan
20c20 67 65 20 74 6f 20 73 75 69 74 20 79 6f 75 72 20 74 61 73 74 65 0a 0a 2f 2f 20 69 66 20 79 6f 75 ge.to.suit.your.taste..//.if.you
20c40 20 61 72 65 6e 27 74 20 73 75 72 65 20 61 62 6f 75 74 20 44 45 46 5f 46 4f 4e 54 2c 20 63 68 61 .aren't.sure.about.DEF_FONT,.cha
20c60 6e 67 65 20 69 74 20 74 6f 20 22 66 69 78 65 64 22 3b 20 61 6c 6d 6f 73 74 20 61 6c 6c 20 58 20 nge.it.to."fixed";.almost.all.X.
20c80 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 73 20 77 69 6c 6c 20 68 61 76 65 20 74 68 61 74 20 61 76 61 installations.will.have.that.ava
20ca0 69 6c 61 62 6c 65 0a 23 69 66 64 65 66 20 58 46 54 0a 23 64 65 66 69 6e 65 20 44 45 46 5f 46 4f ilable.#ifdef.XFT.#define.DEF_FO
20cc0 4e 54 20 22 2d 62 69 74 73 74 72 65 61 6d 2d 62 69 74 73 74 72 65 61 6d 20 76 65 72 61 20 73 61 NT."-bitstream-bitstream.vera.sa
20ce0 6e 73 2d 6d 65 64 69 75 6d 2d 72 2d 2a 2d 2a 2d 2a 2d 31 30 30 2d 2a 2d 2a 2d 2a 2d 2a 2d 2a 2d ns-medium-r-*-*-*-100-*-*-*-*-*-
20d00 2a 22 0a 23 65 6c 73 65 0a 23 64 65 66 69 6e 65 20 44 45 46 5f 46 4f 4e 54 20 22 2d 62 26 68 2d *".#else.#define.DEF_FONT."-b&h-
20d20 6c 75 63 69 64 61 2d 6d 65 64 69 75 6d 2d 72 2d 2a 2d 2a 2d 31 30 2d 2a 2d 2a 2d 2a 2d 2a 2d 2a lucida-medium-r-*-*-10-*-*-*-*-*
20d40 2d 2a 2d 2a 22 0a 23 65 6e 64 69 66 0a 0a 2f 2f 20 75 73 65 20 6e 61 6d 65 64 20 63 6f 6c 6f 75 -*-*".#endif..//.use.named.colou
20d60 72 73 2c 20 23 72 67 62 2c 20 23 72 72 67 67 62 62 20 6f 72 20 23 72 72 72 67 67 67 62 62 62 20 rs,.#rgb,.#rrggbb.or.#rrrgggbbb.
20d80 66 6f 72 6d 61 74 0a 23 64 65 66 69 6e 65 20 44 45 46 5f 42 4f 52 44 45 52 20 22 23 30 30 30 22 format.#define.DEF_BORDER."#000"
20da0 0a 23 64 65 66 69 6e 65 20 44 45 46 5f 54 45 58 54 20 22 23 30 30 30 22 0a 23 64 65 66 69 6e 65 .#define.DEF_TEXT."#000".#define
20dc0 20 44 45 46 5f 41 43 54 49 56 45 20 22 23 66 64 30 22 0a 23 64 65 66 69 6e 65 20 44 45 46 5f 49 .DEF_ACTIVE."#fd0".#define.DEF_I
20de0 4e 41 43 54 49 56 45 20 22 23 61 61 61 22 0a 23 64 65 66 69 6e 65 20 44 45 46 5f 4d 45 4e 55 20 NACTIVE."#aaa".#define.DEF_MENU.
20e00 22 23 64 64 64 22 0a 23 64 65 66 69 6e 65 20 44 45 46 5f 53 45 4c 45 43 54 45 44 20 22 23 61 61 "#ddd".#define.DEF_SELECTED."#aa
20e20 64 22 0a 23 64 65 66 69 6e 65 20 44 45 46 5f 45 4d 50 54 59 20 22 23 30 30 30 22 0a 23 64 65 66 d".#define.DEF_EMPTY."#000".#def
20e40 69 6e 65 20 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 20 32 0a 23 64 65 66 69 6e 65 20 41 43 ine.DEF_BORDERWIDTH.2.#define.AC
20e60 54 49 56 45 5f 53 48 41 44 4f 57 20 30 78 32 30 30 30 20 2f 2f 20 65 67 20 23 66 66 66 20 62 65 TIVE_SHADOW.0x2000.//.eg.#fff.be
20e80 63 6f 6d 65 73 20 23 64 64 64 0a 23 64 65 66 69 6e 65 20 53 50 41 43 45 20 33 0a 0a 2f 2f 20 63 comes.#ddd.#define.SPACE.3..//.c
20ea0 68 61 6e 67 65 20 4d 4f 44 49 46 49 45 52 20 74 6f 20 4e 6f 6e 65 20 74 6f 20 72 65 6d 6f 76 65 hange.MODIFIER.to.None.to.remove
20ec0 20 74 68 65 20 6e 65 65 64 20 74 6f 20 68 6f 6c 64 20 64 6f 77 6e 20 61 20 6d 6f 64 69 66 69 65 .the.need.to.hold.down.a.modifie
20ee0 72 20 6b 65 79 0a 2f 2f 20 74 68 65 20 57 69 6e 64 6f 77 73 20 6b 65 79 20 73 68 6f 75 6c 64 20 r.key.//.the.Windows.key.should.
20f00 62 65 20 4d 6f 64 34 4d 61 73 6b 20 61 6e 64 20 74 68 65 20 41 6c 74 20 6b 65 79 20 69 73 20 4d be.Mod4Mask.and.the.Alt.key.is.M
20f20 6f 64 31 4d 61 73 6b 0a 23 64 65 66 69 6e 65 20 4d 4f 44 49 46 49 45 52 20 4d 6f 64 31 4d 61 73 od1Mask.#define.MODIFIER.Mod1Mas
20f40 6b 0a 0a 2f 2f 20 6b 65 79 73 20 6d 61 79 20 62 65 20 75 73 65 64 20 62 79 20 6f 74 68 65 72 20 k..//.keys.may.be.used.by.other.
20f60 61 70 70 73 2c 20 73 6f 20 63 68 61 6e 67 65 20 74 68 65 6d 20 68 65 72 65 0a 23 64 65 66 69 6e apps,.so.change.them.here.#defin
20f80 65 20 4b 45 59 5f 43 59 43 4c 45 50 52 45 56 20 58 4b 5f 54 61 62 0a 23 64 65 66 69 6e 65 20 4b e.KEY_CYCLEPREV.XK_Tab.#define.K
20fa0 45 59 5f 43 59 43 4c 45 4e 45 58 54 20 58 4b 5f 71 0a 23 64 65 66 69 6e 65 20 4b 45 59 5f 46 55 EY_CYCLENEXT.XK_q.#define.KEY_FU
20fc0 4c 4c 53 43 52 45 45 4e 20 58 4b 5f 46 31 31 0a 23 64 65 66 69 6e 65 20 4b 45 59 5f 54 4f 47 47 LLSCREEN.XK_F11.#define.KEY_TOGG
20fe0 4c 45 5a 20 58 4b 5f 46 31 32 0a 0a 2f 2f 20 6d 61 78 20 74 69 6d 65 20 62 65 74 77 65 65 6e 20 LEZ.XK_F12..//.max.time.between.
21000 63 6c 69 63 6b 73 20 69 6e 20 64 6f 75 62 6c 65 20 63 6c 69 63 6b 0a 23 64 65 66 69 6e 65 20 44 clicks.in.double.click.#define.D
21020 45 46 5f 44 42 4c 43 4c 4b 54 49 4d 45 20 34 30 30 0a 0a 2f 2f 20 61 20 66 65 77 20 75 73 65 66 EF_DBLCLKTIME.400..//.a.few.usef
21040 75 6c 20 6d 61 73 6b 73 20 6d 61 64 65 20 75 70 20 6f 75 74 20 6f 66 20 58 27 73 20 62 61 73 69 ul.masks.made.up.out.of.X's.basi
21060 63 20 6f 6e 65 73 2e 20 60 43 68 69 6c 64 4d 61 73 6b 27 20 69 73 20 61 20 73 69 6c 6c 79 20 6e c.ones..`ChildMask'.is.a.silly.n
21080 61 6d 65 2c 20 62 75 74 20 6f 68 20 77 65 6c 6c 2e 0a 23 64 65 66 69 6e 65 20 43 68 69 6c 64 4d ame,.but.oh.well..#define.ChildM
210a0 61 73 6b 20 28 53 75 62 73 74 72 75 63 74 75 72 65 52 65 64 69 72 65 63 74 4d 61 73 6b 7c 53 75 ask.(SubstructureRedirectMask|Su
210c0 62 73 74 72 75 63 74 75 72 65 4e 6f 74 69 66 79 4d 61 73 6b 29 0a 23 64 65 66 69 6e 65 20 42 75 bstructureNotifyMask).#define.Bu
210e0 74 74 6f 6e 4d 61 73 6b 20 28 42 75 74 74 6f 6e 50 72 65 73 73 4d 61 73 6b 7c 42 75 74 74 6f 6e ttonMask.(ButtonPressMask|Button
21100 52 65 6c 65 61 73 65 4d 61 73 6b 29 0a 23 64 65 66 69 6e 65 20 4d 6f 75 73 65 4d 61 73 6b 20 28 ReleaseMask).#define.MouseMask.(
21120 42 75 74 74 6f 6e 4d 61 73 6b 7c 50 6f 69 6e 74 65 72 4d 6f 74 69 6f 6e 4d 61 73 6b 29 0a 23 64 ButtonMask|PointerMotionMask).#d
21140 65 66 69 6e 65 20 4b 65 79 4d 61 73 6b 20 28 4b 65 79 50 72 65 73 73 4d 61 73 6b 7c 4b 65 79 52 efine.KeyMask.(KeyPressMask|KeyR
21160 65 6c 65 61 73 65 4d 61 73 6b 29 0a 0a 23 64 65 66 69 6e 65 20 41 42 53 28 78 29 20 28 28 28 78 eleaseMask)..#define.ABS(x).(((x
21180 29 20 3c 20 30 29 20 3f 20 2d 28 78 29 20 3a 20 28 78 29 29 0a 0a 2f 2f 20 73 68 6f 72 74 68 61 ).<.0).?.-(x).:.(x))..//.shortha
211a0 6e 64 20 66 6f 72 20 77 6f 72 64 79 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 0a 23 64 65 66 nd.for.wordy.function.calls.#def
211c0 69 6e 65 20 73 65 74 6d 6f 75 73 65 28 77 2c 20 78 2c 20 79 29 20 58 57 61 72 70 50 6f 69 6e 74 ine.setmouse(w,.x,.y).XWarpPoint
211e0 65 72 28 64 73 70 6c 79 2c 20 4e 6f 6e 65 2c 20 77 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 78 er(dsply,.None,.w,.0,.0,.0,.0,.x
21200 2c 20 79 29 0a 23 64 65 66 69 6e 65 20 75 6e 67 72 61 62 28 29 20 58 55 6e 67 72 61 62 50 6f 69 ,.y).#define.ungrab().XUngrabPoi
21220 6e 74 65 72 28 64 73 70 6c 79 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 0a 23 64 65 66 69 6e 65 nter(dsply,.CurrentTime).#define
21240 20 67 72 61 62 28 77 2c 20 6d 61 73 6b 2c 20 63 75 72 73 29 20 5c 0a 09 28 58 47 72 61 62 50 6f .grab(w,.mask,.curs).\..(XGrabPo
21260 69 6e 74 65 72 28 64 73 70 6c 79 2c 20 77 2c 20 46 61 6c 73 65 2c 20 6d 61 73 6b 2c 20 47 72 61 inter(dsply,.w,.False,.mask,.Gra
21280 62 4d 6f 64 65 41 73 79 6e 63 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 4e 6f 6e 65 2c bModeAsync,.GrabModeAsync,.None,
212a0 20 63 75 72 73 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 20 3d 3d 20 47 72 61 62 53 75 63 63 65 .curs,.CurrentTime).==.GrabSucce
212c0 73 73 29 0a 23 64 65 66 69 6e 65 20 67 72 61 62 5f 6b 65 79 73 79 6d 28 77 2c 20 6d 61 73 6b 2c ss).#define.grab_keysym(w,.mask,
212e0 20 6b 65 79 73 79 6d 29 20 5c 0a 09 58 47 72 61 62 4b 65 79 28 64 73 70 6c 79 2c 20 58 4b 65 79 .keysym).\..XGrabKey(dsply,.XKey
21300 73 79 6d 54 6f 4b 65 79 63 6f 64 65 28 64 73 70 6c 79 2c 20 6b 65 79 73 79 6d 29 2c 20 6d 61 73 symToKeycode(dsply,.keysym),.mas
21320 6b 2c 20 77 2c 20 54 72 75 65 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 47 72 61 62 4d k,.w,.True,.GrabModeAsync,.GrabM
21340 6f 64 65 41 73 79 6e 63 29 3b 20 5c 0a 09 58 47 72 61 62 4b 65 79 28 64 73 70 6c 79 2c 20 58 4b odeAsync);.\..XGrabKey(dsply,.XK
21360 65 79 73 79 6d 54 6f 4b 65 79 63 6f 64 65 28 64 73 70 6c 79 2c 20 6b 65 79 73 79 6d 29 2c 20 4c eysymToKeycode(dsply,.keysym),.L
21380 6f 63 6b 4d 61 73 6b 7c 6d 61 73 6b 2c 20 77 2c 20 54 72 75 65 2c 20 47 72 61 62 4d 6f 64 65 41 ockMask|mask,.w,.True,.GrabModeA
213a0 73 79 6e 63 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 29 3b 20 5c 0a 09 69 66 20 28 6e 75 6d sync,.GrabModeAsync);.\..if.(num
213c0 6c 6f 63 6b 6d 61 73 6b 29 20 5c 0a 09 7b 20 5c 0a 09 09 58 47 72 61 62 4b 65 79 28 64 73 70 6c lockmask).\..{.\...XGrabKey(dspl
213e0 79 2c 20 58 4b 65 79 73 79 6d 54 6f 4b 65 79 63 6f 64 65 28 64 73 70 6c 79 2c 20 6b 65 79 73 79 y,.XKeysymToKeycode(dsply,.keysy
21400 6d 29 2c 20 6e 75 6d 6c 6f 63 6b 6d 61 73 6b 7c 6d 61 73 6b 2c 20 77 2c 20 54 72 75 65 2c 20 47 m),.numlockmask|mask,.w,.True,.G
21420 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 29 3b 20 5c 0a rabModeAsync,.GrabModeAsync);.\.
21440 09 09 58 47 72 61 62 4b 65 79 28 64 73 70 6c 79 2c 20 58 4b 65 79 73 79 6d 54 6f 4b 65 79 63 6f ..XGrabKey(dsply,.XKeysymToKeyco
21460 64 65 28 64 73 70 6c 79 2c 20 6b 65 79 73 79 6d 29 2c 20 6e 75 6d 6c 6f 63 6b 6d 61 73 6b 7c 4c de(dsply,.keysym),.numlockmask|L
21480 6f 63 6b 4d 61 73 6b 7c 6d 61 73 6b 2c 20 77 2c 20 54 72 75 65 2c 20 47 72 61 62 4d 6f 64 65 41 ockMask|mask,.w,.True,.GrabModeA
214a0 73 79 6e 63 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 29 3b 20 5c 0a 09 7d 0a 0a 2f 2f 20 49 sync,.GrabModeAsync);.\..}..//.I
214c0 20 77 61 6e 6e 61 20 6b 6e 6f 77 20 77 68 6f 20 74 68 65 20 6d 6f 72 6f 6e 73 20 77 68 6f 20 70 .wanna.know.who.the.morons.who.p
214e0 72 6f 74 6f 74 79 70 65 64 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 69 6d 70 rototyped.these.functions.as.imp
21500 6c 69 63 69 74 20 69 6e 74 20 61 72 65 2e 2e 2e 0a 23 64 65 66 69 6e 65 20 6c 6f 77 65 72 5f 77 licit.int.are....#define.lower_w
21520 69 6e 28 63 29 20 28 28 76 6f 69 64 29 20 58 4c 6f 77 65 72 57 69 6e 64 6f 77 28 64 73 70 6c 79 in(c).((void).XLowerWindow(dsply
21540 2c 20 28 63 29 2d 3e 66 72 61 6d 65 29 29 0a 23 64 65 66 69 6e 65 20 72 61 69 73 65 5f 77 69 6e ,.(c)->frame)).#define.raise_win
21560 28 63 29 20 28 28 76 6f 69 64 29 20 58 52 61 69 73 65 57 69 6e 64 6f 77 28 64 73 70 6c 79 2c 20 (c).((void).XRaiseWindow(dsply,.
21580 28 63 29 2d 3e 66 72 61 6d 65 29 29 0a 0a 2f 2f 20 62 6f 72 64 65 72 20 77 69 64 74 68 20 61 63 (c)->frame))..//.border.width.ac
215a0 63 65 73 73 6f 72 20 74 6f 20 68 61 6e 64 6c 65 20 68 69 6e 74 73 2f 6e 6f 20 68 69 6e 74 73 0a cessor.to.handle.hints/no.hints.
215c0 23 69 66 64 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a 23 64 65 66 69 6e 65 20 42 4f 52 44 45 52 57 #ifdef.MWM_HINTS.#define.BORDERW
215e0 49 44 54 48 28 63 29 20 28 28 63 29 2d 3e 68 61 73 5f 62 6f 72 64 65 72 20 3f 20 44 45 46 5f 42 IDTH(c).((c)->has_border.?.DEF_B
21600 4f 52 44 45 52 57 49 44 54 48 20 3a 20 30 29 0a 23 65 6c 73 65 0a 23 64 65 66 69 6e 65 20 42 4f ORDERWIDTH.:.0).#else.#define.BO
21620 52 44 45 52 57 49 44 54 48 28 63 29 20 28 44 45 46 5f 42 4f 52 44 45 52 57 49 44 54 48 29 0a 23 RDERWIDTH(c).(DEF_BORDERWIDTH).#
21640 65 6e 64 69 66 0a 0a 2f 2f 20 62 61 72 20 68 65 69 67 68 74 0a 23 69 66 64 65 66 20 58 46 54 0a endif..//.bar.height.#ifdef.XFT.
21660 23 64 65 66 69 6e 65 20 42 41 52 48 45 49 47 48 54 28 29 20 28 78 66 74 66 6f 6e 74 2d 3e 61 73 #define.BARHEIGHT().(xftfont->as
21680 63 65 6e 74 20 2b 20 78 66 74 66 6f 6e 74 2d 3e 64 65 73 63 65 6e 74 20 2b 20 32 2a 53 50 41 43 cent.+.xftfont->descent.+.2*SPAC
216a0 45 20 2b 20 32 29 0a 23 65 6c 73 65 0a 23 64 65 66 69 6e 65 20 42 41 52 48 45 49 47 48 54 28 29 E.+.2).#else.#define.BARHEIGHT()
216c0 20 28 66 6f 6e 74 2d 3e 61 73 63 65 6e 74 20 2b 20 66 6f 6e 74 2d 3e 64 65 73 63 65 6e 74 20 2b .(font->ascent.+.font->descent.+
216e0 20 32 2a 53 50 41 43 45 20 2b 20 32 29 0a 23 65 6e 64 69 66 0a 0a 2f 2f 20 6d 69 6e 69 6d 75 6d .2*SPACE.+.2).#endif..//.minimum
21700 20 77 69 6e 64 6f 77 20 77 69 64 74 68 20 61 6e 64 20 68 65 69 67 68 74 2c 20 65 6e 6f 75 67 68 .window.width.and.height,.enough
21720 20 66 6f 72 20 33 20 62 75 74 74 6f 6e 73 20 61 6e 64 20 61 20 62 69 74 20 6f 66 20 74 69 74 6c .for.3.buttons.and.a.bit.of.titl
21740 65 62 61 72 0a 23 64 65 66 69 6e 65 20 4d 49 4e 57 49 4e 57 49 44 54 48 20 28 42 41 52 48 45 49 ebar.#define.MINWINWIDTH.(BARHEI
21760 47 48 54 28 29 20 2a 20 34 29 0a 23 64 65 66 69 6e 65 20 4d 49 4e 57 49 4e 48 45 49 47 48 54 20 GHT().*.4).#define.MINWINHEIGHT.
21780 28 42 41 52 48 45 49 47 48 54 28 29 20 2a 20 34 29 0a 0a 2f 2f 20 6d 75 6c 74 69 70 6c 69 65 72 (BARHEIGHT().*.4)..//.multiplier
217a0 73 20 66 6f 72 20 63 61 6c 6c 69 6e 67 20 67 72 61 76 69 74 61 74 65 0a 23 64 65 66 69 6e 65 20 s.for.calling.gravitate.#define.
217c0 41 50 50 4c 59 5f 47 52 41 56 49 54 59 20 31 0a 23 64 65 66 69 6e 65 20 52 45 4d 4f 56 45 5f 47 APPLY_GRAVITY.1.#define.REMOVE_G
217e0 52 41 56 49 54 59 20 2d 31 0a 0a 2f 2f 20 6d 6f 64 65 73 20 74 6f 20 63 61 6c 6c 20 67 65 74 5f RAVITY.-1..//.modes.to.call.get_
21800 69 6e 63 73 69 7a 65 20 77 69 74 68 0a 23 64 65 66 69 6e 65 20 50 49 58 45 4c 53 20 30 0a 23 64 incsize.with.#define.PIXELS.0.#d
21820 65 66 69 6e 65 20 49 4e 43 52 45 4d 45 4e 54 53 20 31 0a 0a 2f 2f 20 6d 6f 64 65 73 20 66 6f 72 efine.INCREMENTS.1..//.modes.for
21840 20 66 69 6e 64 5f 63 6c 69 65 6e 74 0a 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 20 30 0a 23 64 .find_client.#define.WINDOW.0.#d
21860 65 66 69 6e 65 20 46 52 41 4d 45 20 31 0a 0a 2f 2f 20 6d 6f 64 65 73 20 66 6f 72 20 72 65 6d 6f efine.FRAME.1..//.modes.for.remo
21880 76 65 5f 63 6c 69 65 6e 74 0a 23 64 65 66 69 6e 65 20 57 49 54 48 44 52 41 57 20 30 0a 23 64 65 ve_client.#define.WITHDRAW.0.#de
218a0 66 69 6e 65 20 52 45 4d 41 50 20 31 0a 0a 2f 2f 20 73 74 75 66 66 20 66 6f 72 20 74 68 65 20 6d fine.REMAP.1..//.stuff.for.the.m
218c0 65 6e 75 20 66 69 6c 65 0a 23 64 65 66 69 6e 65 20 4d 41 58 5f 4d 45 4e 55 49 54 45 4d 53 20 32 enu.file.#define.MAX_MENUITEMS.2
218e0 34 0a 23 64 65 66 69 6e 65 20 4d 41 58 5f 4d 45 4e 55 49 54 45 4d 53 5f 53 49 5a 45 20 28 73 69 4.#define.MAX_MENUITEMS_SIZE.(si
21900 7a 65 6f 66 28 4d 65 6e 75 49 74 65 6d 29 20 2a 20 4d 41 58 5f 4d 45 4e 55 49 54 45 4d 53 29 0a zeof(MenuItem).*.MAX_MENUITEMS).
21920 23 64 65 66 69 6e 65 20 53 54 52 5f 53 49 5a 45 20 31 32 38 0a 23 64 65 66 69 6e 65 20 4e 4f 5f #define.STR_SIZE.128.#define.NO_
21940 4d 45 4e 55 5f 4c 41 42 45 4c 20 22 78 74 65 72 6d 22 0a 23 64 65 66 69 6e 65 20 4e 4f 5f 4d 45 MENU_LABEL."xterm".#define.NO_ME
21960 4e 55 5f 43 4f 4d 4d 41 4e 44 20 22 78 74 65 72 6d 22 0a 0a 2f 2a 20 54 68 69 73 20 73 74 72 75 NU_COMMAND."xterm"../*.This.stru
21980 63 74 75 72 65 20 6b 65 65 70 73 20 74 72 61 63 6b 20 6f 66 20 74 6f 70 2d 6c 65 76 65 6c 20 77 cture.keeps.track.of.top-level.w
219a0 69 6e 64 6f 77 73 20 28 68 65 72 65 69 6e 61 66 74 65 72 0a 20 2a 20 27 63 6c 69 65 6e 74 73 27 indows.(hereinafter..*.'clients'
219c0 29 2e 20 54 68 65 20 63 6c 69 65 6e 74 73 20 77 65 20 6b 6e 6f 77 20 61 62 6f 75 74 20 28 69 2e )..The.clients.we.know.about.(i.
219e0 65 2e 20 61 6c 6c 20 74 68 61 74 20 64 6f 6e 27 74 20 73 65 74 0a 20 2a 20 6f 76 65 72 72 69 64 e..all.that.don't.set..*.overrid
21a00 65 2d 72 65 64 69 72 65 63 74 29 20 61 72 65 20 6b 65 70 74 20 74 72 61 63 6b 20 6f 66 20 69 6e e-redirect).are.kept.track.of.in
21a20 20 6c 69 6e 6b 65 64 20 6c 69 73 74 20 73 74 61 72 74 69 6e 67 20 61 74 20 74 68 65 0a 20 2a 20 .linked.list.starting.at.the..*.
21a40 67 6c 6f 62 61 6c 20 70 6f 69 6e 74 65 72 20 63 61 6c 6c 65 64 2c 20 61 70 70 72 6f 70 72 69 61 global.pointer.called,.appropria
21a60 74 65 6c 79 2c 20 27 63 6c 69 65 6e 74 73 27 2e 20 0a 20 2a 0a 20 2a 20 77 69 6e 64 6f 77 20 61 tely,.'clients'....*..*.window.a
21a80 6e 64 20 70 61 72 65 6e 74 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 61 63 74 75 61 6c 20 63 6c nd.parent.refer.to.the.actual.cl
21aa0 69 65 6e 74 20 77 69 6e 64 6f 77 20 61 6e 64 20 74 68 65 20 6c 61 72 67 65 72 0a 20 2a 20 66 72 ient.window.and.the.larger..*.fr
21ac0 61 6d 65 20 69 6e 74 6f 20 77 68 69 63 68 20 77 65 20 77 69 6c 6c 20 72 65 70 61 72 65 6e 74 20 ame.into.which.we.will.reparent.
21ae0 69 74 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 20 74 72 61 6e 73 20 69 73 20 73 65 74 20 74 6f it.respectively..trans.is.set.to
21b00 0a 20 2a 20 4e 6f 6e 65 20 66 6f 72 20 72 65 67 75 6c 61 72 20 77 69 6e 64 6f 77 73 2c 20 61 6e ..*.None.for.regular.windows,.an
21b20 64 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20 27 6f 77 6e 65 72 27 20 66 6f 72 20 61 20 74 72 61 d.the.window's.'owner'.for.a.tra
21b40 6e 73 69 65 6e 74 0a 20 2a 20 77 69 6e 64 6f 77 2e 20 43 75 72 72 65 6e 74 6c 79 2c 20 77 65 20 nsient..*.window..Currently,.we.
21b60 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 don't.actually.do.anything.with.
21b80 74 68 65 20 6f 77 6e 65 72 20 66 6f 72 0a 20 2a 20 74 72 61 6e 73 69 65 6e 74 73 3b 20 69 74 27 the.owner.for..*.transients;.it'
21ba0 73 20 6a 75 73 74 20 75 73 65 64 20 61 73 20 61 20 62 6f 6f 6c 65 61 6e 2e 0a 20 2a 0a 20 2a 20 s.just.used.as.a.boolean...*..*.
21bc0 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 20 69 73 20 66 6f 72 20 6f 75 72 20 6f 77 6e 20 70 75 72 70 ignore_unmap.is.for.our.own.purp
21be0 6f 73 65 73 20 61 6e 64 20 64 6f 65 73 6e 27 74 20 72 65 66 6c 65 63 74 20 61 6e 79 74 68 69 6e oses.and.doesn't.reflect.anythin
21c00 67 0a 20 2a 20 66 72 6f 6d 20 58 2e 20 57 68 65 6e 65 76 65 72 20 77 65 20 75 6e 6d 61 70 20 61 g..*.from.X..Whenever.we.unmap.a
21c20 20 77 69 6e 64 6f 77 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 2c 20 77 65 20 69 6e 63 72 65 6d .window.intentionally,.we.increm
21c40 65 6e 74 0a 20 2a 20 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 2e 20 54 68 69 73 20 77 61 79 20 6f 75 ent..*.ignore_unmap..This.way.ou
21c60 72 20 75 6e 6d 61 70 20 65 76 65 6e 74 20 68 61 6e 64 6c 65 72 20 63 61 6e 20 74 65 6c 6c 20 77 r.unmap.event.handler.can.tell.w
21c80 68 65 6e 20 69 74 0a 20 2a 20 69 73 6e 27 74 20 73 75 70 70 6f 73 65 64 20 74 6f 20 64 6f 20 61 hen.it..*.isn't.supposed.to.do.a
21ca0 6e 79 74 68 69 6e 67 2e 20 2a 2f 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 43 6c 69 65 nything..*/..typedef.struct.Clie
21cc0 6e 74 0a 7b 0a 09 73 74 72 75 63 74 20 43 6c 69 65 6e 74 20 2a 6e 65 78 74 3b 0a 09 63 68 61 72 nt.{..struct.Client.*next;..char
21ce0 20 2a 6e 61 6d 65 3b 0a 09 58 53 69 7a 65 48 69 6e 74 73 20 2a 73 69 7a 65 3b 0a 09 57 69 6e 64 .*name;..XSizeHints.*size;..Wind
21d00 6f 77 20 77 69 6e 64 6f 77 2c 20 66 72 61 6d 65 2c 20 74 72 61 6e 73 3b 0a 09 43 6f 6c 6f 72 6d ow.window,.frame,.trans;..Colorm
21d20 61 70 20 63 6d 61 70 3b 0a 09 69 6e 74 20 78 2c 20 79 3b 0a 09 69 6e 74 20 77 69 64 74 68 2c 20 ap.cmap;..int.x,.y;..int.width,.
21d40 68 65 69 67 68 74 3b 0a 09 69 6e 74 20 69 67 6e 6f 72 65 5f 75 6e 6d 61 70 3b 0a 09 75 6e 73 69 height;..int.ignore_unmap;..unsi
21d60 67 6e 65 64 20 69 6e 74 20 68 69 64 64 65 6e 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 77 gned.int.hidden;..unsigned.int.w
21d80 61 73 5f 68 69 64 64 65 6e 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 66 6f 63 75 73 5f 6f as_hidden;..unsigned.int.focus_o
21da0 72 64 65 72 3b 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 09 42 6f 6f 6c 20 68 61 73 5f 62 65 65 rder;.#ifdef.SHAPE..Bool.has_bee
21dc0 6e 5f 73 68 61 70 65 64 3b 0a 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 4d 57 4d 5f 48 49 4e 54 n_shaped;.#endif.#ifdef.MWM_HINT
21de0 53 0a 09 42 6f 6f 6c 20 68 61 73 5f 74 69 74 6c 65 2c 20 68 61 73 5f 62 6f 72 64 65 72 3b 0a 23 S..Bool.has_title,.has_border;.#
21e00 65 6e 64 69 66 0a 23 69 66 64 65 66 20 58 46 54 0a 09 58 66 74 44 72 61 77 20 2a 78 66 74 64 72 endif.#ifdef.XFT..XftDraw.*xftdr
21e20 61 77 3b 0a 23 65 6e 64 69 66 0a 7d 20 43 6c 69 65 6e 74 3b 0a 0a 74 79 70 65 64 65 66 20 73 74 aw;.#endif.}.Client;..typedef.st
21e40 72 75 63 74 20 52 65 63 74 0a 7b 0a 09 69 6e 74 20 78 2c 20 79 3b 0a 09 69 6e 74 20 77 69 64 74 ruct.Rect.{..int.x,.y;..int.widt
21e60 68 2c 20 68 65 69 67 68 74 3b 0a 7d 20 52 65 63 74 3b 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75 h,.height;.}.Rect;..typedef.stru
21e80 63 74 20 4d 65 6e 75 49 74 65 6d 0a 7b 0a 09 63 68 61 72 20 2a 63 6f 6d 6d 61 6e 64 2c 20 2a 6c ct.MenuItem.{..char.*command,.*l
21ea0 61 62 65 6c 3b 0a 09 69 6e 74 20 78 3b 0a 09 69 6e 74 20 77 69 64 74 68 3b 0a 7d 20 4d 65 6e 75 abel;..int.x;..int.width;.}.Menu
21ec0 49 74 65 6d 3b 0a 0a 2f 2f 20 42 65 6c 6f 77 20 68 65 72 65 20 61 72 65 20 28 6d 61 69 6e 6c 79 Item;..//.Below.here.are.(mainly
21ee0 20 67 65 6e 65 72 61 74 65 64 20 77 69 74 68 20 63 70 72 6f 74 6f 29 20 64 65 63 6c 61 72 61 74 .generated.with.cproto).declarat
21f00 69 6f 6e 73 20 61 6e 64 20 70 72 6f 74 6f 74 79 70 65 73 20 66 6f 72 20 65 61 63 68 20 66 69 6c ions.and.prototypes.for.each.fil
21f20 65 2e 0a 0a 2f 2f 20 6d 61 69 6e 2e 63 0a 65 78 74 65 72 6e 20 44 69 73 70 6c 61 79 20 2a 64 73 e...//.main.c.extern.Display.*ds
21f40 70 6c 79 3b 0a 65 78 74 65 72 6e 20 57 69 6e 64 6f 77 20 72 6f 6f 74 3b 0a 65 78 74 65 72 6e 20 ply;.extern.Window.root;.extern.
21f60 69 6e 74 20 73 63 72 65 65 6e 3b 0a 65 78 74 65 72 6e 20 43 6c 69 65 6e 74 20 2a 68 65 61 64 5f int.screen;.extern.Client.*head_
21f80 63 6c 69 65 6e 74 2c 20 2a 66 6f 63 75 73 65 64 5f 63 6c 69 65 6e 74 2c 20 2a 74 6f 70 6d 6f 73 client,.*focused_client,.*topmos
21fa0 74 5f 63 6c 69 65 6e 74 2c 20 2a 66 75 6c 6c 73 63 72 65 65 6e 5f 63 6c 69 65 6e 74 3b 0a 65 78 t_client,.*fullscreen_client;.ex
21fc0 74 65 72 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 6e 5f 74 61 73 6b 62 61 72 2c 20 73 68 tern.unsigned.int.in_taskbar,.sh
21fe0 6f 77 69 6e 67 5f 74 61 73 6b 62 61 72 2c 20 66 6f 63 75 73 5f 63 6f 75 6e 74 3b 0a 65 78 74 65 owing_taskbar,.focus_count;.exte
22000 72 6e 20 52 65 63 74 20 66 73 5f 70 72 65 76 64 69 6d 73 3b 0a 65 78 74 65 72 6e 20 58 46 6f 6e rn.Rect.fs_prevdims;.extern.XFon
22020 74 53 74 72 75 63 74 20 2a 66 6f 6e 74 3b 0a 23 69 66 64 65 66 20 58 46 54 0a 65 78 74 65 72 6e tStruct.*font;.#ifdef.XFT.extern
22040 20 58 66 74 46 6f 6e 74 20 2a 78 66 74 66 6f 6e 74 3b 0a 65 78 74 65 72 6e 20 58 66 74 43 6f 6c .XftFont.*xftfont;.extern.XftCol
22060 6f 72 20 78 66 74 5f 64 65 74 61 69 6c 3b 0a 23 65 6e 64 69 66 0a 65 78 74 65 72 6e 20 47 43 20 or.xft_detail;.#endif.extern.GC.
22080 62 6f 72 64 65 72 5f 67 63 2c 20 74 65 78 74 5f 67 63 2c 20 61 63 74 69 76 65 5f 67 63 2c 20 64 border_gc,.text_gc,.active_gc,.d
220a0 65 70 72 65 73 73 65 64 5f 67 63 2c 20 69 6e 61 63 74 69 76 65 5f 67 63 2c 20 6d 65 6e 75 5f 67 epressed_gc,.inactive_gc,.menu_g
220c0 63 2c 20 73 65 6c 65 63 74 65 64 5f 67 63 2c 20 65 6d 70 74 79 5f 67 63 3b 0a 65 78 74 65 72 6e c,.selected_gc,.empty_gc;.extern
220e0 20 58 43 6f 6c 6f 72 20 62 6f 72 64 65 72 5f 63 6f 6c 2c 20 74 65 78 74 5f 63 6f 6c 2c 20 61 63 .XColor.border_col,.text_col,.ac
22100 74 69 76 65 5f 63 6f 6c 2c 20 64 65 70 72 65 73 73 65 64 5f 63 6f 6c 2c 20 69 6e 61 63 74 69 76 tive_col,.depressed_col,.inactiv
22120 65 5f 63 6f 6c 2c 20 6d 65 6e 75 5f 63 6f 6c 2c 20 73 65 6c 65 63 74 65 64 5f 63 6f 6c 2c 20 65 e_col,.menu_col,.selected_col,.e
22140 6d 70 74 79 5f 63 6f 6c 3b 0a 65 78 74 65 72 6e 20 43 75 72 73 6f 72 20 72 65 73 69 7a 65 5f 63 mpty_col;.extern.Cursor.resize_c
22160 75 72 73 3b 0a 65 78 74 65 72 6e 20 41 74 6f 6d 20 77 6d 5f 73 74 61 74 65 2c 20 77 6d 5f 63 68 urs;.extern.Atom.wm_state,.wm_ch
22180 61 6e 67 65 5f 73 74 61 74 65 2c 20 77 6d 5f 70 72 6f 74 6f 73 2c 20 77 6d 5f 64 65 6c 65 74 65 ange_state,.wm_protos,.wm_delete
221a0 2c 20 77 6d 5f 63 6d 61 70 77 69 6e 73 3b 0a 23 69 66 64 65 66 20 4d 57 4d 5f 48 49 4e 54 53 0a ,.wm_cmapwins;.#ifdef.MWM_HINTS.
221c0 65 78 74 65 72 6e 20 41 74 6f 6d 20 6d 77 6d 5f 68 69 6e 74 73 3b 0a 23 65 6e 64 69 66 0a 65 78 extern.Atom.mwm_hints;.#endif.ex
221e0 74 65 72 6e 20 63 68 61 72 20 2a 6f 70 74 5f 66 6f 6e 74 2c 20 2a 6f 70 74 5f 62 6f 72 64 65 72 tern.char.*opt_font,.*opt_border
22200 2c 20 2a 6f 70 74 5f 74 65 78 74 2c 20 2a 6f 70 74 5f 61 63 74 69 76 65 2c 20 2a 6f 70 74 5f 69 ,.*opt_text,.*opt_active,.*opt_i
22220 6e 61 63 74 69 76 65 2c 20 2a 6f 70 74 5f 6d 65 6e 75 2c 20 2a 6f 70 74 5f 73 65 6c 65 63 74 65 nactive,.*opt_menu,.*opt_selecte
22240 64 2c 20 2a 6f 70 74 5f 65 6d 70 74 79 3b 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 65 78 74 65 d,.*opt_empty;.#ifdef.SHAPE.exte
22260 72 6e 20 69 6e 74 20 73 68 61 70 65 2c 20 73 68 61 70 65 5f 65 76 65 6e 74 3b 0a 23 65 6e 64 69 rn.int.shape,.shape_event;.#endi
22280 66 0a 65 78 74 65 72 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6e 75 6d 6c 6f 63 6b 6d 61 73 f.extern.unsigned.int.numlockmas
222a0 6b 3b 0a 0a 2f 2f 20 65 76 65 6e 74 73 2e 63 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 64 6f 5f 65 k;..//.events.c.extern.void.do_e
222c0 76 65 6e 74 5f 6c 6f 6f 70 28 76 6f 69 64 29 3b 0a 0a 2f 2f 20 63 6c 69 65 6e 74 2e 63 0a 65 78 vent_loop(void);..//.client.c.ex
222e0 74 65 72 6e 20 43 6c 69 65 6e 74 20 2a 66 69 6e 64 5f 63 6c 69 65 6e 74 28 57 69 6e 64 6f 77 2c tern.Client.*find_client(Window,
22300 20 69 6e 74 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 73 65 74 5f 77 6d 5f 73 74 61 74 65 28 .int);.extern.void.set_wm_state(
22320 43 6c 69 65 6e 74 20 2a 2c 20 69 6e 74 29 3b 0a 65 78 74 65 72 6e 20 6c 6f 6e 67 20 67 65 74 5f Client.*,.int);.extern.long.get_
22340 77 6d 5f 73 74 61 74 65 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 wm_state(Client.*);.extern.void.
22360 73 65 6e 64 5f 63 6f 6e 66 69 67 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f send_config(Client.*);.extern.vo
22380 69 64 20 72 65 6d 6f 76 65 5f 63 6c 69 65 6e 74 28 43 6c 69 65 6e 74 20 2a 2c 20 69 6e 74 29 3b id.remove_client(Client.*,.int);
223a0 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 72 65 64 72 61 77 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 65 .extern.void.redraw(Client.*);.e
223c0 78 74 65 72 6e 20 76 6f 69 64 20 67 72 61 76 69 74 61 74 65 28 43 6c 69 65 6e 74 20 2a 2c 20 69 xtern.void.gravitate(Client.*,.i
223e0 6e 74 29 3b 0a 23 69 66 64 65 66 20 53 48 41 50 45 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 73 65 nt);.#ifdef.SHAPE.extern.void.se
22400 74 5f 73 68 61 70 65 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 23 65 6e 64 69 66 0a 65 78 74 65 72 6e t_shape(Client.*);.#endif.extern
22420 20 76 6f 69 64 20 63 68 65 63 6b 5f 66 6f 63 75 73 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 65 78 74 .void.check_focus(Client.*);.ext
22440 65 72 6e 20 43 6c 69 65 6e 74 20 2a 67 65 74 5f 70 72 65 76 5f 66 6f 63 75 73 65 64 28 76 6f 69 ern.Client.*get_prev_focused(voi
22460 64 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 64 72 61 77 5f 68 69 64 65 5f 62 75 74 74 6f 6e d);.extern.void.draw_hide_button
22480 28 43 6c 69 65 6e 74 20 2a 2c 20 47 43 20 2a 2c 20 47 43 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 (Client.*,.GC.*,.GC.*);.extern.v
224a0 6f 69 64 20 64 72 61 77 5f 74 6f 67 67 6c 65 64 65 70 74 68 5f 62 75 74 74 6f 6e 28 43 6c 69 65 oid.draw_toggledepth_button(Clie
224c0 6e 74 20 2a 2c 20 47 43 20 2a 2c 20 47 43 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 64 nt.*,.GC.*,.GC.*);.extern.void.d
224e0 72 61 77 5f 63 6c 6f 73 65 5f 62 75 74 74 6f 6e 28 43 6c 69 65 6e 74 20 2a 2c 20 47 43 20 2a 2c raw_close_button(Client.*,.GC.*,
22500 20 47 43 20 2a 29 3b 0a 0a 2f 2f 20 6e 65 77 2e 63 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 6d 61 .GC.*);..//.new.c.extern.void.ma
22520 6b 65 5f 6e 65 77 5f 63 6c 69 65 6e 74 28 57 69 6e 64 6f 77 29 3b 0a 0a 2f 2f 20 6d 61 6e 61 67 ke_new_client(Window);..//.manag
22540 65 2e 63 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 6d 6f 76 65 28 43 6c 69 65 6e 74 20 2a 29 3b 0a e.c.extern.void.move(Client.*);.
22560 65 78 74 65 72 6e 20 76 6f 69 64 20 72 61 69 73 65 5f 6c 6f 77 65 72 28 43 6c 69 65 6e 74 20 2a extern.void.raise_lower(Client.*
22580 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 72 65 73 69 7a 65 28 43 6c 69 65 6e 74 20 2a 2c 20 );.extern.void.resize(Client.*,.
225a0 69 6e 74 2c 20 69 6e 74 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 68 69 64 65 28 43 6c 69 65 int,.int);.extern.void.hide(Clie
225c0 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 75 6e 68 69 64 65 28 43 6c 69 65 6e 74 nt.*);.extern.void.unhide(Client
225e0 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 74 6f 67 67 6c 65 5f 66 75 6c 6c 73 63 72 65 .*);.extern.void.toggle_fullscre
22600 65 6e 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 73 65 6e 64 5f 77 en(Client.*);.extern.void.send_w
22620 6d 5f 64 65 6c 65 74 65 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 m_delete(Client.*);.extern.void.
22640 77 72 69 74 65 5f 74 69 74 6c 65 74 65 78 74 28 43 6c 69 65 6e 74 20 2a 2c 20 57 69 6e 64 6f 77 write_titletext(Client.*,.Window
22660 29 3b 0a 0a 2f 2f 20 6d 69 73 63 2e 63 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 65 72 72 28 63 6f );..//.misc.c.extern.void.err(co
22680 6e 73 74 20 63 68 61 72 20 2a 2c 20 2e 2e 2e 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 66 6f nst.char.*,....);.extern.void.fo
226a0 72 6b 5f 65 78 65 63 28 63 68 61 72 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 73 69 67 rk_exec(char.*);.extern.void.sig
226c0 5f 68 61 6e 64 6c 65 72 28 69 6e 74 29 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 68 61 6e 64 6c 65 _handler(int);.extern.int.handle
226e0 5f 78 65 72 72 6f 72 28 44 69 73 70 6c 61 79 20 2a 2c 20 58 45 72 72 6f 72 45 76 65 6e 74 20 2a _xerror(Display.*,.XErrorEvent.*
22700 29 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 69 67 6e 6f 72 65 5f 78 65 72 72 6f 72 28 44 69 73 70 );.extern.int.ignore_xerror(Disp
22720 6c 61 79 20 2a 2c 20 58 45 72 72 6f 72 45 76 65 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 69 6e lay.*,.XErrorEvent.*);.extern.in
22740 74 20 73 65 6e 64 5f 78 6d 65 73 73 61 67 65 28 57 69 6e 64 6f 77 2c 20 41 74 6f 6d 2c 20 6c 6f t.send_xmessage(Window,.Atom,.lo
22760 6e 67 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 67 65 74 5f 6d 6f 75 73 65 5f 70 6f 73 69 74 ng);.extern.void.get_mouse_posit
22780 69 6f 6e 28 69 6e 74 20 2a 2c 20 69 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 66 ion(int.*,.int.*);.extern.void.f
227a0 69 78 5f 70 6f 73 69 74 69 6f 6e 28 43 6c 69 65 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f ix_position(Client.*);.extern.vo
227c0 69 64 20 72 65 66 69 78 5f 70 6f 73 69 74 69 6f 6e 28 43 6c 69 65 6e 74 20 2a 2c 20 58 43 6f 6e id.refix_position(Client.*,.XCon
227e0 66 69 67 75 72 65 52 65 71 75 65 73 74 45 76 65 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f figureRequestEvent.*);.extern.vo
22800 69 64 20 63 6f 70 79 5f 64 69 6d 73 28 52 65 63 74 20 2a 2c 20 52 65 63 74 20 2a 29 3b 0a 23 69 id.copy_dims(Rect.*,.Rect.*);.#i
22820 66 64 65 66 20 44 45 42 55 47 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 73 68 6f 77 5f 65 76 65 6e fdef.DEBUG.extern.void.show_even
22840 74 28 58 45 76 65 6e 74 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 64 75 6d 70 28 43 6c 69 65 t(XEvent);.extern.void.dump(Clie
22860 6e 74 20 2a 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 64 75 6d 70 5f 63 6c 69 65 6e 74 73 28 nt.*);.extern.void.dump_clients(
22880 76 6f 69 64 29 3b 0a 23 65 6e 64 69 66 0a 0a 2f 2f 20 74 61 73 6b 62 61 72 2e 63 0a 65 78 74 65 void);.#endif..//.taskbar.c.exte
228a0 72 6e 20 57 69 6e 64 6f 77 20 74 61 73 6b 62 61 72 3b 0a 23 69 66 64 65 66 20 58 46 54 0a 65 78 rn.Window.taskbar;.#ifdef.XFT.ex
228c0 74 65 72 6e 20 58 66 74 44 72 61 77 20 2a 74 62 78 66 74 64 72 61 77 3b 0a 23 65 6e 64 69 66 0a tern.XftDraw.*tbxftdraw;.#endif.
228e0 65 78 74 65 72 6e 20 76 6f 69 64 20 6d 61 6b 65 5f 74 61 73 6b 62 61 72 28 76 6f 69 64 29 3b 0a extern.void.make_taskbar(void);.
22900 65 78 74 65 72 6e 20 76 6f 69 64 20 63 79 63 6c 65 5f 70 72 65 76 69 6f 75 73 28 76 6f 69 64 29 extern.void.cycle_previous(void)
22920 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 63 79 63 6c 65 5f 6e 65 78 74 28 76 6f 69 64 29 3b 0a ;.extern.void.cycle_next(void);.
22940 65 78 74 65 72 6e 20 76 6f 69 64 20 6c 63 6c 69 63 6b 5f 74 61 73 6b 62 61 72 28 69 6e 74 29 3b extern.void.lclick_taskbar(int);
22960 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 72 63 6c 69 63 6b 5f 74 61 73 6b 62 61 72 28 69 6e 74 29 .extern.void.rclick_taskbar(int)
22980 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 72 63 6c 69 63 6b 5f 72 6f 6f 74 28 76 6f 69 64 29 3b ;.extern.void.rclick_root(void);
229a0 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 72 65 64 72 61 77 5f 74 61 73 6b 62 61 72 28 76 6f 69 64 .extern.void.redraw_taskbar(void
229c0 29 3b 0a 65 78 74 65 72 6e 20 66 6c 6f 61 74 20 67 65 74 5f 62 75 74 74 6f 6e 5f 77 69 64 74 68 );.extern.float.get_button_width
229e0 28 76 6f 69 64 29 3b 0a 0a 2f 2f 20 6d 65 6e 75 66 69 6c 65 2e 63 0a 65 78 74 65 72 6e 20 69 6e (void);..//.menufile.c.extern.in
22a00 74 20 64 6f 5f 6d 65 6e 75 69 74 65 6d 73 3b 0a 65 78 74 65 72 6e 20 4d 65 6e 75 49 74 65 6d 2a t.do_menuitems;.extern.MenuItem*
22a20 20 6d 65 6e 75 69 74 65 6d 73 3b 0a 65 78 74 65 72 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 .menuitems;.extern.unsigned.int.
22a40 6e 75 6d 5f 6d 65 6e 75 69 74 65 6d 73 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 67 65 74 5f 6d num_menuitems;.extern.void.get_m
22a60 65 6e 75 69 74 65 6d 73 28 76 6f 69 64 29 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 66 72 65 65 enuitems(void);.extern.void.free
22a80 5f 6d 65 6e 75 69 74 65 6d 73 28 76 6f 69 64 29 3b 0a 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 44 _menuitems(void);.#endif./*.WIND
22aa0 4f 57 4c 41 42 5f 48 20 2a 2f 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 OWLAB_H.*/......................
22ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c00 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 43 48 41 4e 47 45 4c 4f 47 00 00 00 00 00 00 00 00 windowlab-1.40/CHANGELOG........
22c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
22c80 30 30 35 31 31 30 33 00 31 31 33 35 36 31 35 35 35 32 33 00 30 31 33 32 37 36 00 20 30 00 00 00 0051103.11356155523.013276..0...
22ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d00 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
22d20 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
22d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e00 31 2e 34 30 20 28 32 30 31 30 2d 30 34 2d 30 34 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 1.40.(2010-04-04)..*.integrated.
22e20 61 20 63 68 61 6e 67 65 20 66 72 6f 6d 20 53 69 6d 6f 6e 20 45 6e 67 65 6c 73 6d 61 6e 20 28 74 a.change.from.Simon.Engelsman.(t
22e40 68 61 6e 6b 73 21 29 3a 0a 09 2a 20 58 4e 65 78 74 45 76 65 6e 74 28 29 20 77 61 73 20 72 65 70 hanks!):..*.XNextEvent().was.rep
22e60 6c 61 63 65 64 20 62 79 20 69 6e 74 65 72 72 75 70 74 69 62 6c 65 5f 58 4e 65 78 74 45 76 65 6e laced.by.interruptible_XNextEven
22e80 74 28 29 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 64 6f 5f 65 76 65 6e 74 5f 6c 6f 6f 70 28 29 0a t().function.in.do_event_loop().
22ea0 0a 0a 31 2e 33 39 20 28 32 30 30 39 2d 31 32 2d 32 37 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 ..1.39.(2009-12-27)..*.integrate
22ec0 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 4d 61 74 73 20 45 72 69 6b 20 41 6e d.more.changes.from.Mats.Erik.An
22ee0 64 65 72 73 73 6f 6e 3a 0a 09 2a 20 6d 65 6e 75 20 66 69 6c 65 20 68 61 6e 64 6c 69 6e 67 20 6d dersson:..*.menu.file.handling.m
22f00 61 64 65 20 6d 6f 72 65 20 6c 65 6e 69 65 6e 74 0a 0a 0a 31 2e 33 38 20 28 32 30 30 39 2d 31 31 ade.more.lenient...1.38.(2009-11
22f20 2d 31 34 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 -14)..*.integrated.more.changes.
22f40 66 72 6f 6d 20 4d 61 74 73 20 45 72 69 6b 20 41 6e 64 65 72 73 73 6f 6e 3a 0a 09 2a 20 6d 61 6b from.Mats.Erik.Andersson:..*.mak
22f60 65 66 69 6c 65 20 6d 61 64 65 20 6d 6f 72 65 20 66 6c 65 78 69 62 6c 65 0a 09 2a 20 73 69 67 6e efile.made.more.flexible..*.sign
22f80 61 6c 20 68 61 6e 64 6c 65 72 20 66 6f 72 20 53 49 47 48 55 50 20 6e 6f 77 20 6a 75 73 74 20 73 al.handler.for.SIGHUP.now.just.s
22fa0 65 74 73 20 61 20 73 65 6d 61 70 68 6f 72 65 2c 20 61 6e 64 20 72 65 6c 6f 61 64 69 6e 67 20 6f ets.a.semaphore,.and.reloading.o
22fc0 66 20 6d 65 6e 75 20 72 65 73 6f 75 72 63 65 73 20 68 61 70 70 65 6e 73 20 69 6e 20 74 68 65 20 f.menu.resources.happens.in.the.
22fe0 65 76 65 6e 74 20 6c 6f 6f 70 0a 09 2a 20 66 69 78 65 64 20 70 72 6f 62 6c 65 6d 73 20 66 6f 75 event.loop..*.fixed.problems.fou
23000 6e 64 20 62 79 20 61 75 64 69 74 69 6e 67 20 74 68 65 20 63 6f 64 65 20 77 69 74 68 20 46 6c 61 nd.by.auditing.the.code.with.Fla
23020 77 66 69 6e 64 65 72 0a 0a 0a 31 2e 33 37 20 28 32 30 30 39 2d 31 30 2d 30 34 29 0a 0a 2a 20 69 wfinder...1.37.(2009-10-04)..*.i
23040 6e 74 65 67 72 61 74 65 64 20 61 20 63 68 61 6e 67 65 20 66 72 6f 6d 20 43 61 6d 70 62 65 6c 6c ntegrated.a.change.from.Campbell
23060 20 42 61 72 74 6f 6e 20 28 74 68 61 6e 6b 73 21 29 3a 0a 09 2a 20 66 69 78 65 64 20 61 20 62 75 .Barton.(thanks!):..*.fixed.a.bu
23080 67 20 77 68 69 63 68 20 77 61 73 20 66 72 65 65 69 6e 67 20 63 6c 69 65 6e 74 73 27 20 6e 61 6d g.which.was.freeing.clients'.nam
230a0 65 73 20 74 77 69 63 65 0a 0a 0a 31 2e 33 36 20 28 32 30 30 39 2d 31 30 2d 30 31 29 0a 0a 2a 20 es.twice...1.36.(2009-10-01)..*.
230c0 72 65 77 72 6f 74 65 20 74 68 65 20 69 6e 68 65 72 69 74 65 64 20 6c 69 63 65 6e 63 65 73 20 70 rewrote.the.inherited.licences.p
230e0 61 72 74 20 6f 66 20 74 68 65 20 72 65 61 64 6d 65 20 66 69 6c 65 20 74 6f 20 74 61 6b 65 20 69 art.of.the.readme.file.to.take.i
23100 6e 74 6f 20 61 63 63 6f 75 6e 74 20 39 77 6d 27 73 20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 nto.account.9wm's.switch.to.the.
23120 4d 49 54 20 6c 69 63 65 6e 63 65 0a 2a 20 75 70 64 61 74 65 64 20 74 68 65 20 6d 65 6e 75 20 6f MIT.licence.*.updated.the.menu.o
23140 70 74 69 6f 6e 73 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 ptions.*.integrated.more.changes
23160 20 66 72 6f 6d 20 4d 61 74 73 20 45 72 69 6b 20 41 6e 64 65 72 73 73 6f 6e 3a 0a 09 2a 20 61 64 .from.Mats.Erik.Andersson:..*.ad
23180 64 65 64 20 61 20 73 69 6d 70 6c 65 20 6d 65 63 68 61 6e 69 73 6d 20 77 68 69 63 68 20 75 70 64 ded.a.simple.mechanism.which.upd
231a0 61 74 65 73 20 74 68 65 20 6d 65 6e 75 20 69 6e 20 74 68 65 20 72 75 6e 6e 69 6e 67 20 69 6e 73 ates.the.menu.in.the.running.ins
231c0 74 61 6e 63 65 20 6f 66 20 57 69 6e 64 6f 77 4c 61 62 0a 0a 0a 31 2e 33 35 20 28 32 30 30 39 2d tance.of.WindowLab...1.35.(2009-
231e0 30 39 2d 32 30 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 63 68 61 6e 67 65 73 20 66 72 6f 09-20)..*.integrated.changes.fro
23200 6d 20 4d 61 74 73 20 45 72 69 6b 20 41 6e 64 65 72 73 73 6f 6e 20 28 74 68 61 6e 6b 73 21 29 3a m.Mats.Erik.Andersson.(thanks!):
23220 0a 09 2a 20 66 69 78 65 64 20 61 20 62 75 67 20 74 68 61 74 20 63 6f 75 6c 64 20 63 61 75 73 65 ..*.fixed.a.bug.that.could.cause
23240 20 70 72 6f 63 65 73 73 65 73 20 74 6f 20 62 65 63 6f 6d 65 20 7a 6f 6d 62 69 66 69 65 64 0a 09 .processes.to.become.zombified..
23260 2a 20 66 69 78 65 64 20 61 20 62 75 67 20 74 68 61 74 20 6d 61 64 65 20 73 6f 6d 65 20 77 69 6e *.fixed.a.bug.that.made.some.win
23280 64 6f 77 73 20 75 6e 76 69 65 77 61 62 6c 65 0a 0a 0a 31 2e 33 34 20 28 32 30 30 36 2d 31 31 2d dows.unviewable...1.34.(2006-11-
232a0 31 32 29 0a 0a 2a 20 69 66 20 6e 6f 20 77 69 6e 64 6f 77 20 68 61 73 20 66 6f 63 75 73 2c 20 66 12)..*.if.no.window.has.focus,.f
232c0 6f 63 75 73 20 69 73 20 67 69 76 65 6e 20 74 6f 20 6e 65 77 20 77 69 6e 64 6f 77 73 0a 2a 20 69 ocus.is.given.to.new.windows.*.i
232e0 66 20 74 68 65 20 66 6f 63 75 73 65 64 20 77 69 6e 64 6f 77 20 69 73 20 63 6c 6f 73 65 64 20 61 f.the.focused.window.is.closed.a
23300 6e 64 20 6e 6f 20 70 72 65 76 69 6f 75 73 20 77 69 6e 64 6f 77 20 68 61 73 20 65 76 65 72 20 68 nd.no.previous.window.has.ever.h
23320 61 64 20 66 6f 63 75 73 2c 20 66 6f 63 75 73 20 69 73 20 67 69 76 65 6e 20 74 6f 20 74 68 65 20 ad.focus,.focus.is.given.to.the.
23340 66 69 72 73 74 20 63 6c 69 65 6e 74 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 63 68 61 6e 67 65 first.client.*.integrated.change
23360 73 20 66 72 6f 6d 20 4a 65 66 66 72 65 79 20 44 72 61 6b 65 20 28 74 68 61 6e 6b 73 21 29 3a 0a s.from.Jeffrey.Drake.(thanks!):.
23380 09 2a 20 66 6f 6e 74 73 20 6e 6f 77 20 63 6c 6f 73 65 64 20 70 72 6f 70 65 72 6c 79 20 6f 6e 20 .*.fonts.now.closed.properly.on.
233a0 65 78 69 74 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 exit.*.integrated.more.changes.f
233c0 72 6f 6d 20 41 6e 74 74 69 20 4e 79 6b e4 6e 65 6e 3a 0a 09 2a 20 66 69 78 65 64 20 61 20 63 6f rom.Antti.Nyk.nen:..*.fixed.a.co
233e0 6d 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 mpiler.warning.*.integrated.more
23400 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d .changes.from.David.Lawrence.Ram
23420 73 65 79 3a 0a 09 2a 20 66 69 78 65 64 20 61 20 63 6f 6d 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 sey:..*.fixed.a.compiler.warning
23440 0a 09 2a 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20 4d 61 6b 65 66 69 6c 65 0a 09 2a 20 6d ..*.changes.to.the.Makefile..*.m
23460 61 6e 79 20 6f 74 68 65 72 20 6d 69 73 63 20 63 68 61 6e 67 65 73 21 0a 0a 0a 31 2e 33 33 20 28 any.other.misc.changes!...1.33.(
23480 32 30 30 35 2d 31 30 2d 31 36 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 63 68 61 6e 67 65 2005-10-16)..*.integrated.change
234a0 73 20 66 72 6f 6d 20 44 75 73 68 6b 69 6e 20 28 74 68 61 6e 6b 73 21 29 3a 0a 09 2a 20 73 63 72 s.from.Dushkin.(thanks!):..*.scr
234c0 6f 6c 6c 69 6e 67 20 74 68 65 20 6d 6f 75 73 65 20 77 68 65 65 6c 20 69 6e 20 74 68 65 20 74 61 olling.the.mouse.wheel.in.the.ta
234e0 73 6b 62 61 72 20 6e 6f 77 20 74 61 73 6b 20 73 77 69 74 63 68 65 73 0a 2a 20 69 6e 74 65 67 72 skbar.now.task.switches.*.integr
23500 61 74 65 64 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 41 6e 74 74 69 20 4e 79 6b e4 6e 65 6e 20 ated.changes.from.Antti.Nyk.nen.
23520 28 74 68 61 6e 6b 73 21 29 3a 0a 09 2a 20 66 69 78 65 64 20 61 20 63 72 61 73 68 20 74 68 61 74 (thanks!):..*.fixed.a.crash.that
23540 20 6f 63 63 75 72 72 65 64 20 6f 6e 20 74 68 65 20 42 53 44 73 20 28 61 6e 64 20 70 72 65 73 75 .occurred.on.the.BSDs.(and.presu
23560 6d 61 62 6c 79 20 6f 6e 20 6f 74 68 65 72 20 73 79 73 74 65 6d 73 20 77 69 74 68 6f 75 74 20 2f mably.on.other.systems.without./
23580 70 72 6f 63 2f 73 65 6c 66 2f 65 78 65 29 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 63 68 61 6e proc/self/exe).*.integrated.chan
235a0 67 65 73 20 66 72 6f 6d 20 47 72 65 67 6f 72 20 49 6d 62 6f 64 65 6e 20 28 74 68 61 6e 6b 73 21 ges.from.Gregor.Imboden.(thanks!
235c0 29 3a 0a 09 2a 20 66 69 78 65 64 20 61 20 63 72 61 73 68 20 74 68 61 74 20 6f 63 75 72 72 72 65 ):..*.fixed.a.crash.that.ocurrre
235e0 64 20 77 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 66 6f 63 75 73 65 64 20 77 69 6e 64 d.when.there.are.no.focused.wind
23600 6f 77 73 20 61 6e 64 20 61 6c 74 20 2b 20 46 31 32 20 69 73 20 70 72 65 73 73 65 64 20 77 61 73 ows.and.alt.+.F12.is.pressed.was
23620 20 66 69 78 65 64 0a 2a 20 65 76 65 6e 74 73 20 61 72 65 20 61 6c 77 61 79 73 20 72 65 70 6c 61 .fixed.*.events.are.always.repla
23640 79 65 64 20 72 61 74 68 65 72 20 74 68 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 62 65 69 6e 67 20 yed.rather.than.sometimes.being.
23660 65 61 74 65 6e 0a 2a 20 6e 65 77 20 77 69 6e 64 6f 77 73 20 61 72 65 20 6e 6f 20 6c 6f 6e 67 65 eaten.*.new.windows.are.no.longe
23680 72 20 67 69 76 65 6e 20 66 6f 63 75 73 0a 2a 20 61 64 64 65 64 20 54 4f 44 4f 20 66 69 6c 65 0a r.given.focus.*.added.TODO.file.
236a0 0a 0a 31 2e 33 32 20 28 32 30 30 35 2d 30 37 2d 32 30 29 0a 0a 2a 20 74 68 65 20 65 78 65 63 75 ..1.32.(2005-07-20)..*.the.execu
236c0 74 61 62 6c 65 20 68 61 73 20 62 65 65 6e 20 6d 61 64 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 0a table.has.been.made.relocatable.
236e0 2a 20 64 6f 75 62 6c 65 20 63 6c 69 63 6b 69 6e 67 20 6f 6e 20 61 20 77 69 6e 64 6f 77 73 20 74 *.double.clicking.on.a.windows.t
23700 69 74 6c 65 62 61 72 20 74 6f 67 67 6c 65 73 20 69 74 73 20 64 65 70 74 68 20 28 62 61 73 65 64 itlebar.toggles.its.depth.(based
23720 20 6f 6e 20 63 6f 64 65 20 66 72 6f 6d 20 52 6f 6c 61 6e 64 20 48 61 61 73 29 0a 2a 20 69 6e 74 .on.code.from.Roland.Haas).*.int
23740 65 67 72 61 74 65 64 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 4d 69 6b 65 20 4d 2e 20 56 6f 6c egrated.changes.from.Mike.M..Vol
23760 6f 6b 68 6f 76 20 28 74 68 61 6e 6b 73 21 29 3a 0a 09 2a 20 61 20 73 65 67 66 61 75 6c 74 20 77 okhov.(thanks!):..*.a.segfault.w
23780 68 65 6e 20 75 73 69 6e 67 20 72 65 61 6c 6c 6f 63 28 29 20 77 69 74 68 20 6d 65 6e 75 20 69 74 hen.using.realloc().with.menu.it
237a0 65 6d 73 20 77 61 73 20 66 69 78 65 64 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 ems.was.fixed.*.integrated.more.
237c0 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 52 6f 6c 61 6e 64 20 48 61 61 73 3a 0a 09 2a 20 66 69 78 changes.from.Roland.Haas:..*.fix
237e0 65 64 20 62 75 67 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 74 68 61 74 20 73 74 ed.bug.with.applications.that.st
23800 61 72 74 20 69 6e 20 69 63 6f 6e 69 63 20 6d 6f 64 65 0a 09 2a 20 2d 64 69 73 70 6c 61 79 20 6f art.in.iconic.mode..*.-display.o
23820 70 74 69 6f 6e 20 61 64 64 65 64 0a 09 2a 20 74 68 65 20 69 6e 69 74 69 61 6c 20 70 6f 73 69 74 ption.added..*.the.initial.posit
23840 69 6f 6e 20 61 6e 64 20 73 69 7a 65 20 68 69 6e 74 73 20 69 6e 20 57 4d 5f 48 49 4e 54 53 20 61 ion.and.size.hints.in.WM_HINTS.a
23860 72 65 20 6e 6f 77 20 69 67 6e 6f 72 65 64 20 73 69 6e 63 65 20 74 68 65 79 20 61 72 65 20 66 6c re.now.ignored.since.they.are.fl
23880 61 67 67 65 64 20 61 73 20 6f 62 73 6f 6c 65 74 65 20 69 6e 20 74 68 65 20 6d 61 6e 70 61 67 65 agged.as.obsolete.in.the.manpage
238a0 20 6f 66 20 53 65 74 57 4d 48 69 6e 74 73 0a 0a 0a 31 2e 33 31 20 28 32 30 30 35 2d 30 36 2d 32 .of.SetWMHints...1.31.(2005-06-2
238c0 31 29 0a 0a 2a 20 6d 6f 72 65 20 72 65 73 69 7a 69 6e 67 20 62 75 67 73 20 77 65 72 65 20 66 69 1)..*.more.resizing.bugs.were.fi
238e0 78 65 64 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 52 6f xed.*.integrated.changes.from.Ro
23900 6c 61 6e 64 20 48 61 61 73 20 28 74 68 61 6e 6b 73 21 29 3a 0a 09 2a 20 77 69 6e 64 6f 77 20 62 land.Haas.(thanks!):..*.window.b
23920 6f 72 64 65 72 73 20 61 72 65 20 6e 6f 77 20 74 61 6b 65 6e 20 69 6e 74 6f 20 61 63 63 6f 75 6e orders.are.now.taken.into.accoun
23940 74 20 70 72 6f 70 65 72 6c 79 20 77 68 65 6e 20 72 65 73 69 7a 69 6e 67 0a 09 2a 20 62 75 67 73 t.properly.when.resizing..*.bugs
23960 20 77 69 74 68 20 58 46 54 20 66 6f 6e 74 73 20 77 68 65 6e 20 72 65 73 69 7a 69 6e 67 20 77 65 .with.XFT.fonts.when.resizing.we
23980 72 65 20 66 69 78 65 64 0a 0a 0a 31 2e 33 30 20 28 32 30 30 35 2d 30 35 2d 32 33 29 0a 0a 2a 20 re.fixed...1.30.(2005-05-23)..*.
239a0 61 20 62 75 67 20 74 68 61 74 20 70 72 65 76 65 6e 74 65 64 20 77 69 6e 64 6f 77 73 20 66 72 6f a.bug.that.prevented.windows.fro
239c0 6d 20 62 65 69 6e 67 20 6d 61 64 65 20 73 6d 61 6c 6c 65 72 20 66 72 6f 6d 20 61 20 73 69 64 65 m.being.made.smaller.from.a.side
239e0 20 74 68 61 74 20 77 61 73 20 61 74 20 74 68 65 20 65 64 67 65 20 6f 66 20 74 68 65 20 73 63 72 .that.was.at.the.edge.of.the.scr
23a00 65 65 6e 20 77 61 73 20 66 69 78 65 64 0a 2a 20 61 20 62 75 67 20 74 68 61 74 20 63 61 75 73 65 een.was.fixed.*.a.bug.that.cause
23a20 64 20 74 68 65 20 66 69 72 73 74 20 63 6c 69 65 6e 74 73 20 74 61 73 6b 62 61 72 20 62 75 74 74 d.the.first.clients.taskbar.butt
23a40 6f 6e 20 74 6f 20 64 69 73 61 70 70 65 61 72 20 77 68 65 6e 20 61 6c 6c 20 63 6c 69 65 6e 74 73 on.to.disappear.when.all.clients
23a60 20 77 65 72 65 20 68 69 64 64 65 6e 20 77 61 73 20 66 69 78 65 64 0a 0a 0a 31 2e 32 39 20 28 32 .were.hidden.was.fixed...1.29.(2
23a80 30 30 35 2d 30 35 2d 31 38 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 005-05-18)..*.integrated.more.ch
23aa0 61 6e 67 65 73 20 66 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 anges.from.David.Lawrence.Ramsey
23ac0 3a 0a 09 2a 20 61 20 73 65 67 66 61 75 6c 74 20 74 68 61 74 20 6f 63 63 75 72 72 65 64 20 77 68 :..*.a.segfault.that.occurred.wh
23ae0 65 6e 20 72 65 6d 6f 76 69 6e 67 20 63 6c 69 65 6e 74 73 20 77 61 73 20 66 69 78 65 64 0a 09 2a en.removing.clients.was.fixed..*
23b00 20 73 6f 6d 65 20 63 6f 73 6d 65 74 69 63 20 63 6f 64 65 20 63 68 61 6e 67 65 73 20 77 65 72 65 .some.cosmetic.code.changes.were
23b20 20 6d 61 64 65 0a 0a 0a 31 2e 32 38 20 28 32 30 30 35 2d 30 35 2d 31 35 29 0a 0a 2a 20 77 68 65 .made...1.28.(2005-05-15)..*.whe
23b40 6e 20 74 68 65 20 66 6f 63 75 73 65 64 20 77 69 6e 64 6f 77 20 69 73 20 63 6c 6f 73 65 64 20 6f n.the.focused.window.is.closed.o
23b60 72 20 68 69 64 64 65 6e 2c 20 66 6f 63 75 73 20 69 73 20 72 65 74 75 72 6e 65 64 20 74 6f 20 74 r.hidden,.focus.is.returned.to.t
23b80 68 65 20 70 72 65 76 69 6f 75 73 20 77 69 6e 64 6f 77 0a 2a 20 66 69 78 65 64 20 73 65 72 69 6f he.previous.window.*.fixed.serio
23ba0 75 73 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 75 73 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 72 us.problem.with.using.a.modifier
23bc0 20 6b 65 79 20 66 6f 72 20 72 65 73 69 7a 69 6e 67 20 74 68 61 74 20 6f 63 63 75 72 72 65 64 20 .key.for.resizing.that.occurred.
23be0 6f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 0a 2a 20 63 68 61 6e 67 65 64 20 72 65 73 69 7a 69 on.some.systems.*.changed.resizi
23c00 6e 67 20 74 6f 20 75 73 65 20 61 6c 74 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 57 69 6e ng.to.use.alt.instead.of.the.Win
23c20 64 6f 77 73 20 6b 65 79 0a 2a 20 66 69 78 65 64 20 62 75 67 20 77 68 65 6e 20 75 73 69 6e 67 20 dows.key.*.fixed.bug.when.using.
23c40 61 6c 74 2d 74 61 62 2f 61 6c 74 2d 71 20 74 6f 20 73 77 69 74 63 68 20 66 6f 63 75 73 20 74 6f alt-tab/alt-q.to.switch.focus.to
23c60 20 61 20 68 69 64 64 65 6e 20 77 69 6e 64 6f 77 0a 2a 20 63 68 61 6e 67 65 64 20 64 65 66 61 75 .a.hidden.window.*.changed.defau
23c80 6c 74 20 66 6f 6e 74 6e 61 6d 65 20 74 6f 20 77 6f 72 6b 20 77 69 74 68 20 58 6f 72 67 0a 0a 0a lt.fontname.to.work.with.Xorg...
23ca0 31 2e 32 37 20 28 32 30 30 35 2d 30 34 2d 31 36 29 0a 0a 2a 20 68 69 64 64 65 6e 20 77 69 6e 64 1.27.(2005-04-16)..*.hidden.wind
23cc0 6f 77 73 20 61 72 65 20 6e 6f 77 20 73 68 6f 77 6e 20 61 6e 64 20 72 65 2d 68 69 64 64 65 6e 20 ows.are.now.shown.and.re-hidden.
23ce0 77 68 65 6e 20 74 68 65 69 72 20 74 61 73 6b 62 61 72 20 62 75 74 74 6f 6e 20 69 73 20 64 72 61 when.their.taskbar.button.is.dra
23d00 67 67 65 64 20 6f 76 65 72 0a 0a 0a 31 2e 32 36 20 28 32 30 30 35 2d 30 32 2d 32 33 29 0a 0a 2a gged.over...1.26.(2005-02-23)..*
23d20 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 44 61 .integrated.more.changes.from.Da
23d40 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 76 61 72 69 6f 75 73 20 vid.Lawrence.Ramsey:..*.various.
23d60 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 6d 61 6b 65 66 69 6c 65 20 77 65 72 improvements.to.the.makefile.wer
23d80 65 20 6d 61 64 65 0a 09 2a 20 61 20 62 75 67 20 77 69 74 68 20 76 65 72 74 69 63 61 6c 6c 79 20 e.made..*.a.bug.with.vertically.
23da0 72 65 73 69 7a 69 6e 67 20 77 69 6e 64 6f 77 73 20 74 68 61 74 20 75 73 65 20 73 69 7a 65 20 69 resizing.windows.that.use.size.i
23dc0 6e 63 72 65 6d 65 6e 74 73 20 77 61 73 20 66 69 78 65 64 0a 09 2a 20 61 20 66 65 77 20 63 6f 73 ncrements.was.fixed..*.a.few.cos
23de0 6d 65 74 69 63 20 63 6c 65 61 6e 75 70 73 20 74 6f 20 76 61 72 69 6f 75 73 20 73 65 63 74 69 6f metic.cleanups.to.various.sectio
23e00 6e 73 20 6f 66 20 63 6f 64 65 20 77 65 72 65 20 6d 61 64 65 0a 0a 0a 31 2e 32 35 20 28 32 30 30 ns.of.code.were.made...1.25.(200
23e20 34 2d 31 32 2d 32 33 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 63 68 61 6e 67 65 73 20 66 4-12-23)..*.integrated.changes.f
23e40 72 6f 6d 20 4d 61 74 74 20 42 6f 72 6b 6f 77 73 6b 69 20 28 74 68 61 6e 6b 73 21 29 3a 0a 09 2a rom.Matt.Borkowski.(thanks!):..*
23e60 20 73 6f 6d 65 20 5a 20 6f 72 64 65 72 69 6e 67 20 62 75 67 73 20 77 65 72 65 20 66 69 78 65 64 .some.Z.ordering.bugs.were.fixed
23e80 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 .*.integrated.more.changes.from.
23ea0 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 63 6c 69 63 6b 2d David.Lawrence.Ramsey:..*.click-
23ec0 74 6f 2d 66 6f 63 75 73 20 77 61 73 20 6d 61 64 65 20 74 6f 20 77 6f 72 6b 20 6f 6e 20 66 75 6c to-focus.was.made.to.work.on.ful
23ee0 6c 73 63 72 65 65 6e 20 77 69 6e 64 6f 77 73 20 74 68 61 74 20 68 61 76 65 20 6c 6f 73 74 20 66 lscreen.windows.that.have.lost.f
23f00 6f 63 75 73 0a 09 2a 20 73 69 7a 65 20 63 68 61 6e 67 65 73 20 61 72 65 20 61 70 70 6c 69 65 64 ocus..*.size.changes.are.applied
23f20 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6e 6f 6e 2d 66 75 6c 6c 73 63 72 65 65 6e 20 .to.the.original.non-fullscreen.
23f40 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 66 75 6c 6c 73 63 72 65 65 6e 20 77 69 6e 64 6f 77 coordinates.of.fullscreen.window
23f60 73 0a 09 2a 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74 79 s..*.all.of.the.function.prototy
23f80 70 65 73 20 77 65 72 65 20 6d 61 64 65 20 63 6f 6e 73 69 73 74 65 6e 74 0a 09 2a 20 77 69 6e 64 pes.were.made.consistent..*.wind
23fa0 6f 77 73 20 74 68 61 74 20 72 65 63 6f 6e 66 69 67 75 72 65 20 74 68 65 6d 73 65 6c 76 65 73 20 ows.that.reconfigure.themselves.
23fc0 77 69 74 68 6f 75 74 20 63 68 61 6e 67 69 6e 67 20 70 6f 73 69 74 69 6f 6e 73 20 6e 6f 20 6c 6f without.changing.positions.no.lo
23fe0 6e 67 65 72 20 6d 6f 76 65 0a 09 2a 20 74 68 65 20 73 68 6f 72 74 63 75 74 20 6b 65 79 73 20 62 nger.move..*.the.shortcut.keys.b
24000 65 68 61 76 69 6f 72 20 63 68 61 6e 67 65 64 0a 09 2a 20 73 6f 6d 65 20 67 63 63 20 33 2e 33 2e ehavior.changed..*.some.gcc.3.3.
24020 78 20 77 61 72 6e 69 6e 67 73 20 77 65 72 65 20 66 69 78 65 64 20 28 70 6f 72 74 65 64 20 66 72 x.warnings.were.fixed.(ported.fr
24040 6f 6d 20 61 65 77 6d 29 0a 09 2a 20 74 68 65 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 om.aewm)..*.the.switch.statement
24060 20 69 6e 20 68 61 6e 64 6c 65 5f 70 72 6f 70 65 72 74 79 5f 63 68 61 6e 67 65 28 29 20 69 73 20 .in.handle_property_change().is.
24080 6e 6f 20 6c 6f 6e 67 65 72 20 6d 69 73 73 69 6e 67 20 61 20 62 72 65 61 6b 20 28 70 6f 72 74 65 no.longer.missing.a.break.(porte
240a0 64 20 66 72 6f 6d 20 61 65 77 6d 29 0a 09 2a 20 73 65 6e 64 5f 78 6d 65 73 73 61 67 65 28 29 20 d.from.aewm)..*.send_xmessage().
240c0 6e 6f 77 20 75 73 65 73 20 61 6e 20 58 43 6c 69 65 6e 74 4d 65 73 73 61 67 65 45 76 65 6e 74 20 now.uses.an.XClientMessageEvent.
240e0 69 6e 73 74 65 61 64 20 6f 66 20 61 20 67 65 6e 65 72 69 63 20 58 45 76 65 6e 74 20 28 70 6f 72 instead.of.a.generic.XEvent.(por
24100 74 65 64 20 66 72 6f 6d 20 61 65 77 6d 29 0a 0a 0a 31 2e 32 34 20 28 32 30 30 34 2d 30 35 2d 32 ted.from.aewm)...1.24.(2004-05-2
24120 39 29 0a 0a 2a 20 68 6f 6c 64 69 6e 67 20 64 6f 77 6e 20 74 68 65 20 57 69 6e 64 6f 77 73 20 6b 9)..*.holding.down.the.Windows.k
24140 65 79 20 6f 6e 20 69 74 27 73 20 6f 77 6e 20 6e 6f 77 20 62 72 69 6e 67 73 20 74 68 65 20 63 75 ey.on.it's.own.now.brings.the.cu
24160 72 72 65 6e 74 20 77 69 6e 64 6f 77 20 74 6f 20 74 68 65 20 66 72 6f 6e 74 2c 20 61 66 74 65 72 rrent.window.to.the.front,.after
24180 20 77 68 69 63 68 20 64 72 61 67 67 69 6e 67 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 69 6e 64 .which.dragging.against.the.wind
241a0 6f 77 27 73 20 65 64 67 65 20 77 69 74 68 20 61 6e 79 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 ow's.edge.with.any.mouse.button.
241c0 64 65 70 72 65 73 73 65 64 20 72 65 73 69 7a 65 73 20 69 74 0a 2a 20 69 6e 74 65 67 72 61 74 65 depressed.resizes.it.*.integrate
241e0 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e d.more.changes.from.David.Lawren
24200 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 61 20 66 65 77 20 70 72 6f 74 6f 74 79 70 65 73 2f 64 ce.Ramsey:..*.a.few.prototypes/d
24220 65 63 6c 61 72 61 74 69 6f 6e 73 20 77 65 72 65 20 66 69 78 65 64 0a 0a 0a 31 2e 32 33 20 28 32 eclarations.were.fixed...1.23.(2
24240 30 30 34 2d 30 33 2d 31 32 29 0a 0a 2a 20 72 65 73 69 7a 69 6e 67 20 6e 6f 77 20 6f 70 74 69 6f 004-03-12)..*.resizing.now.optio
24260 6e 61 6c 6c 79 20 75 73 65 73 20 61 20 6d 6f 64 69 66 69 65 72 20 6b 65 79 0a 2a 20 61 20 76 65 nally.uses.a.modifier.key.*.a.ve
24280 72 79 20 73 65 72 69 6f 75 73 20 62 75 67 20 69 6e 20 74 68 65 20 72 65 73 69 7a 69 6e 67 20 73 ry.serious.bug.in.the.resizing.s
242a0 79 73 74 65 6d 20 77 61 73 20 66 69 78 65 64 0a 2a 20 74 68 65 20 62 75 74 74 6f 6e 20 67 72 61 ystem.was.fixed.*.the.button.gra
242c0 70 68 69 63 73 20 77 65 72 65 20 61 6c 74 65 72 65 64 0a 2a 20 74 68 65 20 74 61 73 6b 20 73 77 phics.were.altered.*.the.task.sw
242e0 69 74 63 68 69 6e 67 20 6b 65 79 73 20 77 65 72 65 20 63 68 61 6e 67 65 64 20 74 6f 20 61 6c 74 itching.keys.were.changed.to.alt
24300 2d 74 61 62 2f 61 6c 74 2d 71 0a 2a 20 69 74 27 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 70 6f 73 73 -tab/alt-q.*.it's.no.longer.poss
24320 69 62 6c 65 20 74 6f 20 72 65 73 69 7a 65 20 61 20 66 75 6c 6c 73 63 72 65 65 6e 20 77 69 6e 64 ible.to.resize.a.fullscreen.wind
24340 6f 77 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f ow.*.integrated.more.changes.fro
24360 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 61 20 62 75 m.David.Lawrence.Ramsey:..*.a.bu
24380 67 20 77 68 65 72 65 20 72 65 73 69 7a 65 64 20 77 69 6e 64 6f 77 73 20 6c 6f 73 74 20 66 6f 63 g.where.resized.windows.lost.foc
243a0 75 73 20 77 61 73 20 66 69 78 65 64 0a 09 2a 20 61 20 64 65 62 75 67 67 69 6e 67 20 73 74 61 74 us.was.fixed..*.a.debugging.stat
243c0 65 6d 65 6e 74 20 77 61 73 20 61 64 64 65 64 0a 09 2a 20 61 20 63 6f 6d 70 69 6c 65 72 20 77 61 ement.was.added..*.a.compiler.wa
243e0 72 6e 69 6e 67 20 77 61 73 20 66 69 78 65 64 0a 09 2a 20 61 6e 20 75 6e 6e 65 63 65 73 73 61 72 rning.was.fixed..*.an.unnecessar
24400 79 20 67 65 74 5f 6d 6f 75 73 65 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 61 6c 6c 20 77 61 73 20 y.get_mouse_position().call.was.
24420 72 65 6d 6f 76 65 64 0a 0a 0a 31 2e 32 32 20 28 32 30 30 34 2d 30 32 2d 32 32 29 0a 0a 2a 20 74 removed...1.22.(2004-02-22)..*.t
24440 68 65 20 6d 69 64 64 6c 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 6e 6f 77 20 75 73 he.middle.mouse.button.is.now.us
24460 65 64 20 74 6f 20 72 65 73 69 7a 65 20 74 68 65 20 61 63 74 69 76 65 20 77 69 6e 64 6f 77 0a 2a ed.to.resize.the.active.window.*
24480 20 74 68 65 20 72 65 73 69 7a 65 20 62 75 74 74 6f 6e 20 68 61 73 20 62 65 63 6f 6d 65 20 61 20 .the.resize.button.has.become.a.
244a0 68 69 64 65 20 62 75 74 74 6f 6e 0a 2a 20 61 20 62 75 67 20 77 68 65 6e 20 6d 61 6b 69 6e 67 20 hide.button.*.a.bug.when.making.
244c0 77 69 6e 64 6f 77 73 20 73 6d 61 6c 6c 65 72 20 77 61 73 20 66 69 78 65 64 0a 2a 20 61 6c 74 2d windows.smaller.was.fixed.*.alt-
244e0 46 39 2f 46 31 30 20 6e 6f 77 20 72 61 69 73 65 73 20 74 68 65 20 77 69 6e 64 6f 77 20 61 73 20 F9/F10.now.raises.the.window.as.
24500 77 65 6c 6c 20 61 73 20 63 68 61 6e 67 69 6e 67 20 66 6f 63 75 73 0a 0a 0a 31 2e 32 31 20 28 32 well.as.changing.focus...1.21.(2
24520 30 30 34 2d 30 31 2d 31 37 29 0a 0a 2a 20 74 68 65 20 38 bd 20 73 74 79 6c 65 20 6f 66 20 77 69 004-01-17)..*.the.8..style.of.wi
24540 6e 64 6f 77 20 72 65 73 68 61 70 69 6e 67 20 77 61 73 20 64 72 6f 70 70 65 64 20 69 6e 20 66 61 ndow.reshaping.was.dropped.in.fa
24560 76 6f 75 72 20 6f 66 20 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 6e 65 77 20 6d 65 63 68 61 6e 69 vour.of.a.completely.new.mechani
24580 73 6d 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 75 73 65 72 73 20 74 6f 20 63 68 61 6e 67 65 20 6f sm.that.allows.users.to.change.o
245a0 6e 65 20 6f 72 20 6d 61 6e 79 20 64 69 66 66 65 72 65 6e 74 20 65 64 67 65 73 20 6f 66 20 74 68 ne.or.many.different.edges.of.th
245c0 65 20 77 69 6e 64 6f 77 20 69 6e 64 65 70 65 6e 64 61 6e 74 6c 79 20 69 6e 20 6f 6e 65 20 61 63 e.window.independantly.in.one.ac
245e0 74 69 6f 6e 0a 2a 20 73 6d 61 6c 6c 20 62 75 67 20 66 69 78 20 69 6e 20 77 69 6e 64 6f 77 20 74 tion.*.small.bug.fix.in.window.t
24600 69 74 6c 65 62 61 72 20 64 72 61 77 69 6e 67 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 63 68 61 itlebar.drawing.*.integrated.cha
24620 6e 67 65 73 20 66 72 6f 6d 20 47 75 69 64 6f 20 53 63 68 69 6d 6d 65 6c 73 20 28 74 68 61 6e 6b nges.from.Guido.Schimmels.(thank
24640 73 21 29 3a 0a 09 2a 20 61 20 62 69 74 6d 61 70 20 66 6f 6e 74 20 69 73 20 6e 6f 20 6c 6f 6e 67 s!):..*.a.bitmap.font.is.no.long
24660 65 72 20 72 65 66 65 72 65 6e 63 65 64 20 69 66 20 61 6e 20 58 46 54 20 66 6f 6e 74 20 69 73 20 er.referenced.if.an.XFT.font.is.
24680 75 73 65 64 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 used.*.integrated.more.changes.f
246a0 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 74 68 rom.David.Lawrence.Ramsey:..*.th
246c0 65 20 63 6f 64 65 20 77 61 73 20 63 68 61 6e 67 65 64 20 74 6f 20 75 73 65 20 4e 55 4c 4c 20 65 e.code.was.changed.to.use.NULL.e
246e0 78 70 6c 69 63 69 74 65 6c 79 0a 09 2a 20 64 72 61 77 5f 72 65 64 72 61 77 5f 62 75 74 74 6f 6e xplicitely..*.draw_redraw_button
24700 28 29 20 77 61 73 20 72 65 6e 61 6d 65 64 20 61 73 20 64 72 61 77 5f 72 65 73 69 7a 65 5f 62 75 ().was.renamed.as.draw_resize_bu
24720 74 74 6f 6e 28 29 0a 09 2a 20 77 61 72 6e 69 6e 67 73 20 66 69 78 65 64 20 77 68 65 6e 20 63 6f tton()..*.warnings.fixed.when.co
24740 6d 70 69 6c 69 6e 67 20 75 73 69 6e 67 20 67 63 63 73 20 2d 70 65 64 61 6e 74 69 63 20 6f 70 74 mpiling.using.gccs.-pedantic.opt
24760 69 6f 6e 0a 0a 0a 31 2e 32 30 20 28 32 30 30 33 2d 31 32 2d 33 31 29 0a 0a 2a 20 61 6c 74 65 72 ion...1.20.(2003-12-31)..*.alter
24780 65 64 20 74 68 65 20 62 75 74 74 6f 6e 20 67 72 61 70 68 69 63 73 20 61 6e 64 20 63 68 61 6e 67 ed.the.button.graphics.and.chang
247a0 65 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 61 63 74 69 76 65 20 77 69 6e 64 6f 77 20 63 6f 6c ed.the.default.active.window.col
247c0 6f 75 72 0a 2a 20 72 65 6d 6f 76 65 64 20 74 68 65 20 62 6f 72 64 65 72 77 69 64 74 68 20 63 6f our.*.removed.the.borderwidth.co
247e0 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d mmand.line.option.*.integrated.m
24800 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 ore.changes.from.David.Lawrence.
24820 52 61 6d 73 65 79 3a 0a 09 2a 20 6d 61 64 65 20 66 75 6c 6c 73 63 72 65 65 6e 20 6d 6f 64 65 20 Ramsey:..*.made.fullscreen.mode.
24840 72 65 73 70 65 63 74 20 77 69 6e 64 6f 77 20 73 69 7a 65 20 69 6e 63 72 65 6d 65 6e 74 20 68 69 respect.window.size.increment.hi
24860 6e 74 73 20 61 73 20 77 65 6c 6c 20 61 73 20 6d 61 78 69 6d 75 6d 20 73 69 7a 65 20 68 69 6e 74 nts.as.well.as.maximum.size.hint
24880 73 0a 09 2a 20 63 6c 69 63 6b 69 6e 67 20 74 68 65 20 72 69 67 68 74 20 6d 6f 75 73 65 20 62 75 s..*.clicking.the.right.mouse.bu
248a0 74 74 6f 6e 20 62 65 74 77 65 65 6e 20 62 65 74 77 65 65 6e 20 63 6c 69 63 6b 69 6e 67 20 74 68 tton.between.between.clicking.th
248c0 65 20 72 65 73 69 7a 65 20 62 75 74 74 6f 6e 20 61 6e 64 20 73 74 61 72 74 69 6e 67 20 74 68 65 e.resize.button.and.starting.the
248e0 20 77 69 6e 64 6f 77 20 64 72 61 67 20 63 61 6e 63 65 6c 73 20 72 65 73 69 7a 65 20 6d 6f 64 65 .window.drag.cancels.resize.mode
24900 0a 0a 0a 31 2e 31 39 20 28 32 30 30 33 2d 31 31 2d 31 34 29 0a 0a 2a 20 75 73 65 72 73 20 63 61 ...1.19.(2003-11-14)..*.users.ca
24920 6e 20 6e 6f 77 20 63 6c 69 63 6b 20 61 6e 64 20 64 72 61 67 20 74 68 65 20 6d 6f 75 73 65 20 70 n.now.click.and.drag.the.mouse.p
24940 6f 69 6e 74 65 72 20 6f 76 65 72 20 74 68 65 20 74 61 73 6b 62 61 72 20 74 6f 20 71 75 69 63 6b ointer.over.the.taskbar.to.quick
24960 6c 79 20 66 69 6e 64 20 64 69 66 66 65 72 65 6e 74 20 77 69 6e 64 6f 77 73 0a 2a 20 66 69 78 65 ly.find.different.windows.*.fixe
24980 64 20 62 75 67 20 77 68 65 72 65 20 61 20 6d 65 6e 75 20 69 74 65 6d 20 77 6f 75 6c 64 20 6e 6f d.bug.where.a.menu.item.would.no
249a0 74 20 62 65 20 6c 61 75 63 68 65 64 20 75 6e 6c 65 73 73 20 74 68 65 20 63 75 72 73 6f 72 20 77 t.be.lauched.unless.the.cursor.w
249c0 61 73 20 6d 6f 76 65 64 0a 2a 20 63 6f 72 72 65 63 74 65 64 20 61 6d 6f 75 6e 74 20 74 68 61 74 as.moved.*.corrected.amount.that
249e0 20 74 61 73 6b 62 61 72 20 69 74 65 6d 73 20 74 65 78 74 20 61 72 65 20 69 6e 64 65 6e 74 65 64 .taskbar.items.text.are.indented
24a00 20 74 6f 20 6d 61 74 63 68 20 74 68 61 74 20 6f 66 20 77 69 6e 64 6f 77 73 20 74 69 74 6c 65 62 .to.match.that.of.windows.titleb
24a20 61 72 73 0a 0a 0a 31 2e 31 38 20 28 32 30 30 33 2d 31 31 2d 30 33 29 0a 0a 2a 20 73 6d 61 6c 6c ars...1.18.(2003-11-03)..*.small
24a40 20 62 75 67 20 66 69 78 20 69 6e 20 77 69 6e 64 6f 77 20 74 69 74 6c 65 62 61 72 20 64 72 61 77 .bug.fix.in.window.titlebar.draw
24a60 69 6e 67 0a 0a 0a 31 2e 31 37 20 28 32 30 30 33 2d 31 31 2d 30 31 29 0a 0a 2a 20 69 6d 61 67 65 ing...1.17.(2003-11-01)..*.image
24a80 73 20 61 64 64 65 64 20 74 6f 20 77 69 6e 64 6f 77 73 20 74 69 74 6c 65 62 61 72 20 62 75 74 74 s.added.to.windows.titlebar.butt
24aa0 6f 6e 73 0a 2a 20 71 75 69 74 20 6f 70 74 69 6f 6e 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 73 ons.*.quit.option.added.to.the.s
24ac0 61 6d 70 6c 65 20 6d 65 6e 75 20 66 69 6c 65 0a 0a 0a 31 2e 31 36 20 28 32 30 30 33 2d 31 30 2d ample.menu.file...1.16.(2003-10-
24ae0 30 34 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 04)..*.integrated.more.changes.f
24b00 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 43 6f rom.David.Lawrence.Ramsey:..*.Co
24b20 6e 66 69 67 75 72 65 52 65 71 75 65 73 74 20 68 61 6e 64 6c 65 72 20 6d 6f 64 69 66 69 65 64 20 nfigureRequest.handler.modified.
24b40 73 6f 20 74 68 61 74 20 72 65 66 69 78 5f 70 6f 73 69 74 69 6f 6e 28 29 20 69 73 20 63 61 6c 6c so.that.refix_position().is.call
24b60 65 64 20 62 65 66 6f 72 65 20 67 72 61 76 69 74 79 20 69 64 73 20 72 65 61 70 70 6c 69 65 64 20 ed.before.gravity.ids.reapplied.
24b80 28 74 68 69 73 20 61 6c 6c 6f 77 73 20 72 65 66 69 78 5f 70 6f 73 69 74 69 6f 6e 28 29 20 74 6f (this.allows.refix_position().to
24ba0 20 62 65 20 6d 75 63 68 20 73 69 6d 70 6c 65 72 29 0a 09 2a 20 72 65 73 69 7a 65 20 69 6e 63 72 .be.much.simpler)..*.resize.incr
24bc0 65 6d 65 6e 74 73 20 6f 66 20 7a 65 72 6f 20 61 72 65 20 6e 6f 77 20 68 61 6e 64 6c 65 64 20 70 ements.of.zero.are.now.handled.p
24be0 72 6f 70 65 72 6c 79 0a 09 2a 20 73 6f 6d 65 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20 6d roperly..*.some.changes.to.the.m
24c00 69 6e 69 6d 75 6d 20 73 69 7a 65 20 23 64 65 66 69 6e 65 73 0a 0a 0a 31 2e 31 35 20 28 32 30 30 inimum.size.#defines...1.15.(200
24c20 33 2d 30 38 2d 31 37 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 3-08-17)..*.integrated.more.chan
24c40 67 65 73 20 66 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 3a 0a ges.from.David.Lawrence.Ramsey:.
24c60 09 2a 20 69 74 20 6e 6f 77 20 63 6f 6d 70 69 6c 65 73 20 77 69 74 68 20 58 66 74 20 73 75 70 70 .*.it.now.compiles.with.Xft.supp
24c80 6f 72 74 20 28 69 74 20 70 72 65 76 69 6f 75 73 6c 79 20 72 65 66 65 72 65 6e 63 65 64 20 64 65 ort.(it.previously.referenced.de
24ca0 74 61 69 6c 5f 63 6f 6c 20 69 6e 73 74 65 61 64 20 6f 66 20 74 65 78 74 5f 63 6f 6c 20 69 6e 20 tail_col.instead.of.text_col.in.
24cc0 6d 61 69 6e 2e 63 29 0a 09 2a 20 65 78 74 72 61 20 6c 6f 67 69 63 20 61 64 64 65 64 20 74 6f 20 main.c)..*.extra.logic.added.to.
24ce0 72 65 66 69 78 5f 70 6f 73 69 74 69 6f 6e 28 29 20 74 6f 20 6b 65 65 70 20 77 69 6e 64 6f 77 73 refix_position().to.keep.windows
24d00 20 66 72 6f 6d 20 6f 76 65 72 6c 61 70 70 69 6e 67 20 74 68 65 20 74 61 73 6b 62 61 72 0a 0a 0a .from.overlapping.the.taskbar...
24d20 31 2e 31 34 20 28 32 30 30 33 2d 30 38 2d 31 37 29 0a 0a 2a 20 66 75 6c 6c 73 63 72 65 65 6e 20 1.14.(2003-08-17)..*.fullscreen.
24d40 6d 6f 64 65 20 6e 6f 77 20 72 65 73 65 72 76 65 73 20 73 70 61 63 65 20 61 74 20 74 68 65 20 74 mode.now.reserves.space.at.the.t
24d60 6f 70 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 20 66 6f 72 20 74 68 65 20 74 61 73 6b 62 61 72 op.of.the.screen.for.the.taskbar
24d80 2f 6d 65 6e 75 62 61 72 20 77 68 69 63 68 20 69 73 20 6f 6e 6c 79 20 64 69 73 70 6c 61 79 65 64 /menubar.which.is.only.displayed
24da0 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 6f 76 65 72 20 69 74 20 28 66 6f 72 20 .when.the.mouse.is.over.it.(for.
24dc0 75 73 65 72 73 20 77 68 6f 20 77 61 6e 74 20 74 6f 20 77 61 74 63 68 20 66 75 6c 6c 73 63 72 65 users.who.want.to.watch.fullscre
24de0 65 6e 20 76 69 64 65 6f 20 77 69 74 68 6f 75 74 20 74 68 65 20 77 6d 20 73 68 6f 77 69 6e 67 29 en.video.without.the.wm.showing)
24e00 0a 2a 20 63 72 65 61 74 65 64 20 61 20 6e 65 77 20 63 6f 6c 6f 75 72 20 74 6f 20 63 6f 76 65 72 .*.created.a.new.colour.to.cover
24e20 20 74 68 65 20 73 63 72 65 65 6e 20 77 68 65 6e 20 61 20 77 69 6e 64 6f 77 20 69 6e 20 66 75 6c .the.screen.when.a.window.in.ful
24e40 6c 73 63 72 65 65 6e 20 6d 6f 64 65 20 69 73 20 74 6f 6f 20 73 6d 61 6c 6c 20 74 6f 20 66 69 6c lscreen.mode.is.too.small.to.fil
24e60 6c 20 74 68 65 20 73 63 72 65 65 6e 20 61 6e 64 20 72 65 69 6e 74 72 6f 64 75 63 65 64 20 61 20 l.the.screen.and.reintroduced.a.
24e80 73 65 70 61 72 61 74 65 20 63 6f 6c 6f 75 72 20 66 6f 72 20 74 68 65 20 74 65 78 74 0a 2a 20 72 separate.colour.for.the.text.*.r
24ea0 65 77 72 6f 74 65 20 72 65 66 69 78 5f 70 6f 73 74 69 6f 6e 28 29 20 74 6f 20 75 73 65 20 66 69 ewrote.refix_postion().to.use.fi
24ec0 78 5f 70 6f 73 69 74 69 6f 6e 28 29 0a 2a 20 72 65 64 75 63 65 64 20 74 68 65 20 68 65 69 67 68 x_position().*.reduced.the.heigh
24ee0 74 20 6f 66 20 74 68 65 20 74 61 73 6b 62 61 72 20 2d 20 69 74 20 77 61 73 20 70 72 65 76 69 6f t.of.the.taskbar.-.it.was.previo
24f00 75 73 6c 79 20 42 4f 52 44 45 52 57 49 44 54 48 20 74 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 usly.BORDERWIDTH.taller.than.the
24f20 20 77 69 6e 64 6f 77 73 20 74 69 74 6c 65 62 61 72 73 0a 2a 20 57 69 6e 64 6f 77 4c 61 62 20 6e .windows.titlebars.*.WindowLab.n
24f40 6f 77 20 72 65 61 6c 6c 6f 63 73 20 6d 65 6d 6f 72 79 20 75 6e 75 73 65 64 20 62 79 20 74 68 65 ow.reallocs.memory.unused.by.the
24f60 20 6d 65 6e 75 20 6f 70 74 69 6f 6e 73 0a 0a 0a 31 2e 31 33 20 28 32 30 30 33 2d 30 38 2d 30 39 .menu.options...1.13.(2003-08-09
24f80 29 0a 0a 2a 20 64 65 70 72 65 73 73 65 64 20 62 75 74 74 6f 6e 20 63 6f 6c 6f 75 72 20 69 73 20 )..*.depressed.button.colour.is.
24fa0 6e 6f 77 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 61 63 74 69 76 65 20 74 69 74 6c now.derived.from.the.active.titl
24fc0 65 62 61 72 20 63 6f 6c 6f 75 72 0a 2a 20 72 65 6d 6f 76 65 64 20 72 65 64 75 6e 64 61 6e 74 20 ebar.colour.*.removed.redundant.
24fe0 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 6d 61 64 65 20 command.line.arguments.and.made.
25000 74 68 65 20 72 65 73 74 20 6c 65 73 73 20 63 72 79 70 74 69 63 0a 2a 20 63 6c 69 65 6e 74 73 20 the.rest.less.cryptic.*.clients.
25020 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 6d 61 64 65 20 61 73 20 62 69 67 20 61 73 20 74 68 that.cannot.be.made.as.big.as.th
25040 65 20 73 63 72 65 65 6e 20 61 72 65 20 6e 6f 77 20 63 65 6e 74 72 65 64 20 77 68 65 6e 20 70 75 e.screen.are.now.centred.when.pu
25060 74 20 69 6e 74 6f 20 66 75 6c 6c 73 63 72 65 65 6e 20 6d 6f 64 65 0a 2a 20 4d 61 6b 65 66 69 6c t.into.fullscreen.mode.*.Makefil
25080 65 20 6e 6f 77 20 70 72 6f 6d 70 74 73 20 74 68 65 20 75 73 65 72 20 62 65 66 6f 72 65 20 6f 76 e.now.prompts.the.user.before.ov
250a0 65 72 77 72 69 74 69 6e 67 20 61 6e 20 65 78 69 73 74 69 6e 67 20 6d 65 6e 75 72 63 20 66 69 6c erwriting.an.existing.menurc.fil
250c0 65 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f 6d e.*.integrated.more.changes.from
250e0 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 66 75 6c 6c 73 .David.Lawrence.Ramsey:..*.fulls
25100 63 72 65 65 6e 5f 63 6c 69 65 6e 74 20 6e 6f 77 20 73 65 74 20 74 6f 20 4e 55 4c 4c 20 69 6e 20 creen_client.now.set.to.NULL.in.
25120 73 65 6e 64 5f 77 6d 5f 64 65 6c 65 74 65 28 29 0a 09 2a 20 6d 61 64 65 20 61 20 66 65 77 20 6d send_wm_delete()..*.made.a.few.m
25140 69 6e 6f 72 20 63 6c 65 61 6e 75 70 73 0a 0a 0a 31 2e 31 32 20 28 32 30 30 33 2d 30 37 2d 32 30 inor.cleanups...1.12.(2003-07-20
25160 29 0a 0a 2a 20 63 79 63 6c 65 5f 70 72 65 76 69 6f 75 73 28 29 20 61 6e 64 20 63 79 63 6c 65 5f )..*.cycle_previous().and.cycle_
25180 6e 65 78 74 28 29 20 67 72 65 61 74 6c 79 20 73 69 6d 70 6c 69 66 69 65 64 0a 2a 20 75 6e 68 69 next().greatly.simplified.*.unhi
251a0 64 65 28 29 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 65 64 0a 2a 20 68 69 64 64 65 6e 20 77 69 6e de().function.added.*.hidden.win
251c0 64 6f 77 73 20 61 72 65 20 6e 6f 77 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 74 61 73 6b 62 dows.are.now.listed.in.the.taskb
251e0 61 72 2c 20 61 6e 64 20 63 6c 69 63 6b 69 6e 67 20 74 68 65 69 72 20 62 75 74 74 6f 6e 73 20 77 ar,.and.clicking.their.buttons.w
25200 69 6c 6c 20 75 6e 68 69 64 65 20 74 68 65 6d 0a 2a 20 52 41 54 49 4f 4e 41 4c 45 20 66 69 6c 65 ill.unhide.them.*.RATIONALE.file
25220 20 61 64 64 65 64 20 74 6f 20 65 78 70 6c 61 69 6e 20 74 68 65 20 72 65 61 73 6f 6e 69 6e 67 20 .added.to.explain.the.reasoning.
25240 62 65 68 69 6e 64 20 73 6f 6d 65 20 6f 66 20 57 69 6e 64 6f 77 4c 61 62 73 20 66 65 61 74 75 72 behind.some.of.WindowLabs.featur
25260 65 73 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f es.*.integrated.more.changes.fro
25280 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 63 6f 64 65 m.David.Lawrence.Ramsey:..*.code
252a0 20 61 64 64 65 64 20 74 6f 20 6b 65 65 70 20 77 69 6e 64 6f 77 73 20 28 65 67 20 4d 6f 7a 69 6c .added.to.keep.windows.(eg.Mozil
252c0 6c 61 20 61 6e 64 20 4d 6f 7a 69 6c 6c 61 20 46 69 72 65 62 69 72 64 29 20 66 72 6f 6d 20 72 61 la.and.Mozilla.Firebird).from.ra
252e0 69 73 69 6e 67 20 74 68 65 6d 73 65 6c 76 65 73 0a 09 2a 20 6d 6f 64 69 66 69 65 64 20 72 65 66 ising.themselves..*.modified.ref
25300 69 78 5f 70 6f 73 69 74 69 6f 6e 28 29 20 74 6f 20 68 61 6e 64 6c 65 20 6d 61 78 69 6d 69 7a 65 ix_position().to.handle.maximize
25320 64 20 28 64 65 63 6f 72 6c 65 73 73 29 20 77 69 6e 64 6f 77 73 20 70 72 6f 70 65 72 6c 79 0a 09 d.(decorless).windows.properly..
25340 2a 20 66 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 6d 61 6e 70 61 67 65 20 77 68 65 *.fixed.a.bug.in.the.manpage.whe
25360 72 65 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 6b 65 79 62 69 6e re.the.description.of.the.keybin
25380 64 69 6e 67 73 20 69 73 20 61 6c 6c 20 66 75 73 65 64 20 69 6e 74 6f 20 6f 6e 65 20 70 61 72 61 dings.is.all.fused.into.one.para
253a0 67 72 61 70 68 0a 09 2a 20 6d 61 64 65 20 61 20 66 65 77 20 6d 69 6e 6f 72 20 63 6c 65 61 6e 75 graph..*.made.a.few.minor.cleanu
253c0 70 73 0a 0a 0a 31 2e 31 31 20 28 32 30 30 33 2d 30 37 2d 30 35 29 0a 0a 2a 20 66 69 78 65 64 20 ps...1.11.(2003-07-05)..*.fixed.
253e0 66 75 6c 6c 73 63 72 65 65 6e 6d 6f 64 65 20 73 6f 20 74 68 61 74 20 6e 6f 20 62 6f 72 64 65 72 fullscreenmode.so.that.no.border
25400 20 69 73 20 73 68 6f 77 6e 20 6f 6e 20 73 63 72 65 65 6e 0a 2a 20 73 65 74 73 69 64 28 29 20 69 .is.shown.on.screen.*.setsid().i
25420 73 20 6e 6f 77 20 63 61 6c 6c 65 64 20 69 6e 20 66 6f 72 6b 5f 65 78 65 63 28 29 20 74 6f 20 70 s.now.called.in.fork_exec().to.p
25440 72 65 76 65 6e 74 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 20 66 72 6f 6d 20 64 79 69 6e revent.child.processes.from.dyin
25460 67 20 77 68 65 6e 20 57 69 6e 64 6f 77 4c 61 62 20 69 73 20 6b 69 6c 6c 65 64 20 6f 72 20 63 72 g.when.WindowLab.is.killed.or.cr
25480 61 73 68 65 73 0a 2a 20 73 75 70 70 6f 72 74 20 61 64 64 65 64 20 66 6f 72 20 74 6f 67 67 6c 69 ashes.*.support.added.for.toggli
254a0 6e 67 20 77 69 6e 64 6f 77 20 64 65 70 74 68 20 61 6e 64 20 63 79 63 6c 69 6e 67 20 62 65 74 77 ng.window.depth.and.cycling.betw
254c0 65 65 6e 20 6e 65 78 74 20 61 6e 64 20 70 72 65 76 69 6f 75 73 20 77 69 6e 64 6f 77 73 20 75 73 een.next.and.previous.windows.us
254e0 69 6e 67 20 74 68 65 20 6b 65 79 62 6f 61 72 64 0a 0a 0a 31 2e 31 30 20 28 32 30 30 33 2d 30 35 ing.the.keyboard...1.10.(2003-05
25500 2d 32 35 29 0a 0a 2a 20 61 64 64 65 64 20 63 6f 64 65 20 74 6f 20 74 6f 67 67 6c 65 20 66 75 6c -25)..*.added.code.to.toggle.ful
25520 6c 73 63 72 65 65 6e 20 6d 6f 64 65 20 6f 6e 20 6e 6f 6e 20 74 72 61 6e 73 69 65 6e 74 20 77 69 lscreen.mode.on.non.transient.wi
25540 6e 64 6f 77 73 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 68 69 74 73 20 46 31 31 0a 2a 20 74 ndows.when.the.user.hits.F11.*.t
25560 69 64 69 65 64 20 75 70 20 73 6f 6d 65 20 6d 6f 72 65 20 63 6f 64 65 0a 0a 0a 31 2e 39 20 28 32 idied.up.some.more.code...1.9.(2
25580 30 30 33 2d 30 34 2d 31 39 29 0a 0a 2a 20 6d 61 64 65 20 6e 65 77 20 77 69 6e 64 6f 77 73 20 61 003-04-19)..*.made.new.windows.a
255a0 70 70 65 61 72 20 66 75 6c 6c 79 20 6f 6e 20 73 63 72 65 65 6e 20 69 6e 73 74 65 61 64 20 6f 66 ppear.fully.on.screen.instead.of
255c0 20 6a 75 73 74 20 74 68 65 69 72 20 74 69 74 6c 65 62 61 72 0a 2a 20 61 64 64 65 64 20 63 6f 64 .just.their.titlebar.*.added.cod
255e0 65 20 74 6f 20 64 65 73 74 72 6f 79 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 77 69 6e 64 e.to.destroy.the.constraint.wind
25600 6f 77 20 69 66 20 69 74 20 63 61 6e 27 74 20 62 65 20 67 72 61 62 62 65 64 20 28 66 6f 75 6e 64 ow.if.it.can't.be.grabbed.(found
25620 20 62 79 20 50 69 65 72 72 65 2d 50 61 75 6c 20 4c 61 76 6f 69 65 29 0a 2a 20 72 65 6d 6f 76 65 .by.Pierre-Paul.Lavoie).*.remove
25640 64 20 75 6e 6e 65 63 65 73 73 61 72 79 20 75 6e 6d 61 70 70 69 6e 67 20 6f 66 20 77 69 6e 64 6f d.unnecessary.unmapping.of.windo
25660 77 73 20 62 65 66 6f 72 65 20 74 68 65 79 20 77 65 72 65 20 64 65 73 74 72 6f 79 65 64 20 28 66 ws.before.they.were.destroyed.(f
25680 6f 75 6e 64 20 62 79 20 50 69 65 72 72 65 2d 50 61 75 6c 20 4c 61 76 6f 69 65 29 0a 2a 20 69 6e ound.by.Pierre-Paul.Lavoie).*.in
256a0 74 65 67 72 61 74 65 64 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 50 69 65 72 72 65 2d 50 61 75 tegrated.changes.from.Pierre-Pau
256c0 6c 20 4c 61 76 6f 69 65 20 28 74 68 61 6b 73 20 70 70 6c 21 29 3a 0a 09 2a 20 74 68 65 20 6d 65 l.Lavoie.(thaks.ppl!):..*.the.me
256e0 6e 75 72 63 20 70 61 74 68 20 69 73 20 6e 6f 77 20 73 70 65 63 69 66 69 65 64 20 62 79 20 61 20 nurc.path.is.now.specified.by.a.
25700 2d 44 20 6f 70 74 69 6f 6e 20 6f 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 20 6c 69 6e 65 20 69 6e -D.option.on.the.compile.line.in
25720 20 74 68 65 20 6d 61 6b 65 66 69 6c 65 20 69 6e 73 74 65 61 64 20 6f 66 20 62 65 69 6e 67 20 61 .the.makefile.instead.of.being.a
25740 20 23 64 65 66 69 6e 65 20 69 6e 20 74 68 65 20 63 6f 64 65 0a 2a 20 69 6e 74 65 67 72 61 74 65 .#define.in.the.code.*.integrate
25760 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e d.more.changes.from.David.Lawren
25780 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 73 69 67 6e 69 66 69 63 61 6e 74 20 63 68 61 6e 67 65 ce.Ramsey:..*.significant.change
257a0 73 20 6d 61 64 65 20 74 6f 20 74 68 65 20 43 6f 6e 66 69 67 75 72 65 52 65 71 75 65 73 74 20 65 s.made.to.the.ConfigureRequest.e
257c0 76 65 6e 74 20 68 61 6e 64 6c 65 72 20 77 69 74 68 20 74 68 65 20 61 64 64 69 74 69 6f 6e 20 6f vent.handler.with.the.addition.o
257e0 66 20 72 65 66 69 78 5f 70 6f 73 69 74 69 6f 6e 28 29 0a 09 2a 20 63 72 61 73 68 20 69 6e 20 64 f.refix_position()..*.crash.in.d
25800 75 6d 70 5f 63 6c 69 65 6e 74 73 28 29 20 69 6e 20 44 45 42 55 47 20 6d 6f 64 65 20 66 69 78 65 ump_clients().in.DEBUG.mode.fixe
25820 64 0a 0a 0a 31 2e 38 20 28 32 30 30 33 2d 30 33 2d 33 30 29 0a 0a 2a 20 69 6e 74 65 67 72 61 74 d...1.8.(2003-03-30)..*.integrat
25840 65 64 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 ed.more.changes.from.David.Lawre
25860 6e 63 65 20 52 61 6d 73 65 79 3a 0a 09 2a 20 74 68 65 20 6d 61 6b 65 66 69 6c 65 20 6e 6f 77 20 nce.Ramsey:..*.the.makefile.now.
25880 75 73 65 73 20 70 6b 67 2d 63 6f 6e 66 69 67 20 28 77 68 69 63 68 20 58 46 72 65 65 38 36 20 34 uses.pkg-config.(which.XFree86.4
258a0 2e 33 2e 30 20 73 68 6f 75 6c 64 20 69 6e 63 6c 75 64 65 20 61 6e 20 65 6e 74 72 79 20 66 6f 72 .3.0.should.include.an.entry.for
258c0 29 20 74 6f 20 67 65 74 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 6e 64 20 69 6e 63 6c 75 64 65 ).to.get.the.library.and.include
258e0 20 64 69 72 65 63 74 6f 72 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6e 65 65 64 65 64 20 74 6f .directory.information.needed.to
25900 20 63 6f 6d 70 69 6c 65 20 70 72 6f 70 65 72 6c 79 20 28 70 6f 72 74 65 64 20 66 72 6f 6d 20 61 .compile.properly.(ported.from.a
25920 65 77 6d 29 0a 09 2a 20 6d 65 6e 75 66 69 6c 65 2e 63 20 63 68 61 6e 67 65 64 20 74 6f 20 75 73 ewm)..*.menufile.c.changed.to.us
25940 65 20 58 66 74 54 65 78 74 45 78 74 65 6e 74 73 38 28 29 20 74 6f 20 67 65 74 20 74 68 65 20 70 e.XftTextExtents8().to.get.the.p
25960 72 6f 70 65 72 20 77 69 64 74 68 20 6f 66 20 74 65 78 74 20 77 68 65 6e 20 58 66 74 20 69 73 20 roper.width.of.text.when.Xft.is.
25980 75 73 65 64 0a 0a 0a 31 2e 37 20 28 32 30 30 33 2d 30 33 2d 33 30 29 0a 0a 2a 20 61 64 64 65 64 used...1.7.(2003-03-30)..*.added
259a0 20 74 69 74 6c 65 20 62 61 72 20 74 6f 20 74 68 65 20 72 65 73 68 61 70 65 20 77 69 6e 64 6f 77 .title.bar.to.the.reshape.window
259c0 0a 2a 20 73 6d 61 6c 6c 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 6d 61 64 65 20 74 6f 20 6d 61 .*.small.improvements.made.to.ma
259e0 6e 61 67 65 2e 63 0a 0a 0a 31 2e 36 20 28 32 30 30 33 2d 30 33 2d 31 35 29 0a 0a 2a 20 61 64 64 nage.c...1.6.(2003-03-15)..*.add
25a00 65 64 20 76 69 73 75 61 6c 20 68 69 6e 74 20 77 68 65 6e 20 61 20 62 75 74 74 6f 6e 20 69 73 20 ed.visual.hint.when.a.button.is.
25a20 64 65 70 72 65 73 73 65 64 0a 2a 20 69 6e 74 65 67 72 61 74 65 64 20 63 68 61 6e 67 65 73 20 66 depressed.*.integrated.changes.f
25a40 72 6f 6d 20 44 61 76 69 64 20 4c 61 77 72 65 6e 63 65 20 52 61 6d 73 65 79 20 28 74 68 61 6e 6b rom.David.Lawrence.Ramsey.(thank
25a60 73 21 29 3a 0a 09 2a 20 73 6f 6d 65 20 66 6f 63 75 73 73 69 6e 67 20 70 72 6f 62 6c 65 6d 73 20 s!):..*.some.focussing.problems.
25a80 66 69 78 65 64 0a 09 2a 20 47 54 4b 20 72 65 73 69 7a 69 6e 67 20 62 75 67 20 68 61 6e 64 6c 65 fixed..*.GTK.resizing.bug.handle
25aa0 64 0a 09 2a 20 69 63 6f 6e 69 66 69 65 64 20 77 69 6e 64 6f 77 73 20 6e 6f 77 20 68 61 6e 64 6c d..*.iconified.windows.now.handl
25ac0 65 64 20 70 72 6f 70 65 72 6c 79 0a 09 2a 20 6d 69 73 63 20 73 6d 61 6c 6c 20 66 69 78 65 73 0a ed.properly..*.misc.small.fixes.
25ae0 0a 0a 31 2e 35 20 28 32 30 30 33 2d 30 32 2d 32 37 29 0a 0a 2a 20 67 61 76 65 20 6d 65 6e 75 20 ..1.5.(2003-02-27)..*.gave.menu.
25b00 69 74 73 20 6f 77 6e 20 63 6f 6c 6f 75 72 73 0a 2a 20 6d 61 6e 79 20 63 68 61 6e 67 65 73 20 61 its.own.colours.*.many.changes.a
25b20 6e 64 20 66 69 78 65 73 2c 20 65 73 70 65 63 69 61 6c 6c 79 20 74 6f 20 73 77 65 65 70 28 29 20 nd.fixes,.especially.to.sweep().
25b40 61 6e 64 20 68 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 6d 61 6e 61 67 65 2e 63 and.helper.functions.in.manage.c
25b60 0a 0a 0a 31 2e 34 20 28 32 30 30 33 2d 30 32 2d 31 38 29 0a 0a 2a 20 61 64 64 65 64 20 6d 65 6e ...1.4.(2003-02-18)..*.added.men
25b80 75 20 73 79 73 74 65 6d 20 2d 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 74 68 65 20 6c 61 u.system.-.this.should.be.the.la
25ba0 73 74 20 66 75 6e 64 61 6d 65 6e 74 61 6c 20 63 68 61 6e 67 65 20 74 6f 20 66 75 6e 63 74 69 6f st.fundamental.change.to.functio
25bc0 6e 61 6c 69 74 79 0a 0a 0a 31 2e 33 20 28 32 30 30 33 2d 30 32 2d 31 30 29 0a 0a 2a 20 66 69 78 nality...1.3.(2003-02-10)..*.fix
25be0 65 64 20 63 72 61 73 68 20 63 61 75 73 65 64 20 69 66 20 74 68 65 20 74 61 73 6b 62 61 72 20 69 ed.crash.caused.if.the.taskbar.i
25c00 73 20 63 6c 69 63 6b 65 64 20 61 6e 64 20 6e 6f 20 63 6c 69 65 6e 74 73 20 61 72 65 20 70 72 65 s.clicked.and.no.clients.are.pre
25c20 73 65 6e 74 20 28 66 6f 75 6e 64 20 62 79 20 6c 61 6e 7a 7a 29 0a 2a 20 63 68 61 6e 67 65 64 20 sent.(found.by.lanzz).*.changed.
25c40 72 65 73 69 7a 69 6e 67 20 74 6f 20 75 73 65 20 61 20 77 69 6e 64 6f 77 20 72 61 74 68 65 72 20 resizing.to.use.a.window.rather.
25c60 74 68 61 6e 20 69 6e 76 65 72 74 69 6e 67 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 0a 2a 20 than.inverting.the.background.*.
25c80 6d 61 6e 79 20 6d 69 73 63 20 62 75 67 20 66 69 78 65 73 0a 2a 20 66 69 78 65 64 20 61 20 70 72 many.misc.bug.fixes.*.fixed.a.pr
25ca0 6f 62 6c 65 6d 20 77 69 74 68 20 78 66 74 2f 66 72 65 65 74 79 70 65 20 28 66 6f 75 6e 64 20 62 oblem.with.xft/freetype.(found.b
25cc0 79 20 4d 69 63 68 61 65 6c 20 48 61 6c 6c 65 72 29 0a 0a 0a 31 2e 32 20 28 32 30 30 33 2d 30 31 y.Michael.Haller)...1.2.(2003-01
25ce0 2d 32 33 29 0a 0a 2a 20 6e 65 77 20 63 6c 69 65 6e 74 20 77 69 6e 64 6f 77 20 70 6f 73 69 74 69 -23)..*.new.client.window.positi
25d00 6f 6e 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 20 61 6c 74 65 72 65 64 20 73 6f 20 74 68 61 74 20 oning.algorithm.altered.so.that.
25d20 69 74 27 73 20 6d 6f 72 65 20 6f 62 76 69 6f 75 73 20 74 6f 20 74 68 65 20 75 73 65 72 0a 2a 20 it's.more.obvious.to.the.user.*.
25d40 73 6d 61 6c 6c 20 62 75 67 20 69 6e 20 66 69 6e 64 5f 63 6c 69 65 6e 74 20 66 69 78 65 64 0a 0a small.bug.in.find_client.fixed..
25d60 0a 31 2e 31 20 28 32 30 30 33 2d 30 31 2d 31 32 29 0a 0a 2a 20 73 6f 6d 65 20 72 65 66 61 63 74 .1.1.(2003-01-12)..*.some.refact
25d80 6f 72 69 6e 67 20 69 6e 20 65 76 65 6e 74 73 2e 63 0a 2a 20 61 64 64 65 64 20 73 6f 6d 65 20 6d oring.in.events.c.*.added.some.m
25da0 69 73 73 69 6e 67 20 65 76 65 6e 74 20 68 61 6e 64 6c 69 6e 67 20 66 6f 72 20 74 68 65 20 74 61 issing.event.handling.for.the.ta
25dc0 73 6b 62 61 72 20 77 69 6e 64 6f 77 20 28 66 6f 75 6e 64 20 62 79 20 50 69 65 72 72 65 2d 50 61 skbar.window.(found.by.Pierre-Pa
25de0 75 6c 20 4c 61 76 6f 69 65 29 0a 2a 20 6d 61 64 65 20 74 61 73 6b 62 61 72 20 77 69 6e 64 6f 77 ul.Lavoie).*.made.taskbar.window
25e00 20 75 70 64 61 74 65 20 77 68 65 6e 20 61 20 63 6c 69 65 6e 74 20 77 69 6e 64 6f 77 20 63 68 61 .update.when.a.client.window.cha
25e20 6e 67 65 73 20 69 74 73 20 74 69 74 6c 65 0a 0a 0a 31 2e 30 20 28 32 30 30 32 2d 31 32 2d 32 36 nges.its.title...1.0.(2002-12-26
25e40 29 0a 0a 2a 20 66 69 72 73 74 20 70 75 62 6c 69 63 20 72 65 6c 65 61 73 65 0a 0a 0a 0a 2a 2a 2a )..*.first.public.release....***
25e60 20 4f 52 49 47 49 4e 41 4c 20 41 45 57 4d 20 43 48 41 4e 47 45 4c 4f 47 20 2a 2a 2a 0a 0a 31 2e .ORIGINAL.AEWM.CHANGELOG.***..1.
25e80 31 2e 32 3a 0a 0a 20 2a 20 52 65 77 72 6f 74 65 20 69 6e 69 74 5f 70 6f 73 69 74 69 6f 6e 20 61 1.2:...*.Rewrote.init_position.a
25ea0 67 61 69 6e 2e 20 54 68 69 73 20 66 69 78 65 73 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 77 69 74 gain..This.fixes.the.problem.wit
25ec0 68 20 73 70 65 63 69 66 79 69 6e 67 20 61 20 55 53 50 6f 73 69 74 69 6f 6e 20 63 6f 6e 74 61 69 h.specifying.a.USPosition.contai
25ee0 6e 69 6e 67 20 30 2e 0a 20 2a 20 41 64 64 65 64 20 67 74 6b 2d 6d 65 6e 75 20 63 6c 69 65 6e 74 ning.0...*.Added.gtk-menu.client
25f00 20 63 6f 6e 74 72 69 62 75 74 65 64 20 62 79 20 41 64 61 6d 20 53 61 6d 70 73 6f 6e 20 3c 61 7a .contributed.by.Adam.Sampson.<az
25f20 7a 40 67 6e 75 2e 6f 72 67 3e 2e 20 49 20 77 61 6e 74 20 74 6f 20 66 6f 6c 64 20 74 68 69 73 20 z@gnu.org>..I.want.to.fold.this.
25f40 73 74 75 66 66 20 69 6e 74 6f 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 67 6f 6f 64 69 stuff.into.the.rest.of.the.goodi
25f60 65 73 20 65 76 65 6e 74 75 61 6c 6c 79 2e 20 46 6f 72 20 6e 6f 77 2c 20 6a 75 73 74 20 6b 65 65 es.eventually..For.now,.just.kee
25f80 70 20 69 6e 20 6d 69 6e 64 20 74 68 61 74 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f p.in.mind.that.the.extensions.to
25fa0 20 2e 70 61 6c 65 74 74 65 72 63 20 6d 61 79 20 63 68 61 6e 67 65 2e 0a 20 2a 20 41 64 64 65 64 ..paletterc.may.change...*.Added
25fc0 20 61 20 22 2d 76 65 72 73 69 6f 6e 22 20 6f 70 74 69 6f 6e 20 66 6f 72 20 70 72 69 6e 74 69 6e .a."-version".option.for.printin
25fe0 67 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63 g.version.information.from.the.c
26000 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 20 2a 20 41 64 64 65 64 20 73 6f 6d 65 20 70 72 6f 70 65 ommand.line...*.Added.some.prope
26020 72 20 68 65 61 64 65 72 73 20 74 6f 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 69 6e 20 67 6f r.headers.to.all.the.files.in.go
26040 6f 64 69 65 73 2f 6c 69 62 2f 2e 0a 20 2a 20 52 65 70 6c 61 63 65 64 20 73 74 72 63 70 79 2f 73 odies/lib/...*.Replaced.strcpy/s
26060 74 72 63 61 74 20 69 6e 20 70 61 6e 65 6c 2d 6d 69 73 63 2e 63 20 77 69 74 68 20 73 6e 70 72 69 trcat.in.panel-misc.c.with.snpri
26080 6e 74 66 20 74 6f 20 70 72 65 76 65 6e 74 20 61 20 70 6f 73 73 69 62 6c 65 20 62 75 66 66 65 72 ntf.to.prevent.a.possible.buffer
260a0 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 2a 20 4d 61 64 65 20 73 6f 6d 65 20 69 6d 70 72 6f 76 65 6d .overflow...*.Made.some.improvem
260c0 65 6e 74 73 20 74 6f 20 74 68 65 20 2e 70 61 6c 65 74 74 65 72 63 20 70 61 72 73 65 72 3a 20 73 ents.to.the..paletterc.parser:.s
260e0 71 75 69 73 68 20 61 20 70 6f 73 73 69 62 6c 65 20 73 65 67 66 61 75 6c 74 2c 20 68 61 6e 64 6c quish.a.possible.segfault,.handl
26100 65 20 63 6f 6d 6d 65 6e 74 73 2f 62 6c 61 6e 6b 20 6c 69 6e 65 73 2c 20 69 67 6e 6f 72 65 20 6d e.comments/blank.lines,.ignore.m
26120 65 6e 75 20 64 69 72 65 63 74 69 76 65 73 2e 0a 20 2a 20 52 65 66 6f 72 6d 61 74 74 65 64 20 6d enu.directives...*.Reformatted.m
26140 61 6e 20 70 61 67 65 73 2e 0a 0a 31 2e 31 2e 31 3a 0a 0a 20 2a 20 46 69 78 20 74 79 70 6f 20 69 an.pages...1.1.1:...*.Fix.typo.i
26160 6e 20 6d 61 6e 20 70 61 67 65 20 69 6e 73 74 61 6c 6c 20 6c 6f 63 61 74 69 6f 6e 2e 0a 20 2a 20 n.man.page.install.location...*.
26180 55 73 65 20 2d 6c 58 74 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 58 61 77 20 67 6f 6f 64 Use.-lXt.when.compiling.Xaw.good
261a0 69 65 73 20 28 72 65 71 75 69 72 65 64 20 74 6f 20 62 75 69 6c 64 20 6f 6e 20 53 75 6e 4f 53 29 ies.(required.to.build.on.SunOS)
261c0 2e 0a 20 2a 20 41 64 64 65 64 20 73 6f 6d 65 20 6d 6f 72 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 ...*.Added.some.more.documentati
261e0 6f 6e 20 28 6d 6f 73 74 6c 79 20 61 62 6f 75 74 20 74 68 69 6e 67 73 20 74 68 61 74 20 61 72 65 on.(mostly.about.things.that.are
26200 20 6c 69 6b 65 6c 79 20 74 6f 20 62 72 65 61 6b 2e 29 0a 0a 31 2e 31 2e 30 3a 0a 0a 20 2a 20 58 .likely.to.break.)..1.1.0:...*.X
26220 66 74 20 28 66 72 65 65 74 79 70 65 20 65 78 74 65 6e 73 69 6f 6e 29 20 73 75 70 70 6f 72 74 2c ft.(freetype.extension).support,
26240 20 74 68 61 6e 6b 73 20 6f 6e 63 65 20 61 67 61 69 6e 20 74 6f 20 68 65 6c 70 20 66 72 6f 6d 20 .thanks.once.again.to.help.from.
26260 41 64 61 6d 20 53 61 6d 70 73 6f 6e 20 3c 61 7a 7a 40 67 6e 75 2e 6f 72 67 3e 2e 0a 20 2a 20 41 Adam.Sampson.<azz@gnu.org>...*.A
26280 20 66 65 77 20 4d 61 6b 65 66 69 6c 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 3a 20 6f 6e 6c 79 .few.Makefile.improvements:.only
262a0 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 72 65 71 75 69 72 65 64 20 6c 69 62 72 61 72 69 65 73 .link.against.required.libraries
262c0 2c 20 65 61 73 69 65 72 20 65 6e 61 62 6c 69 6e 67 2f 64 69 73 61 62 6c 69 6e 67 20 6f 66 20 6f ,.easier.enabling/disabling.of.o
262e0 70 74 69 6f 6e 73 2c 20 64 6f 6e 27 74 20 61 74 74 65 6d 70 74 20 74 6f 20 63 6f 6d 70 69 6c 65 ptions,.don't.attempt.to.compile
26300 20 61 67 61 69 6e 73 74 20 68 65 61 64 65 72 73 20 69 6e 20 74 68 65 20 62 69 6e 61 72 79 20 64 .against.headers.in.the.binary.d
26320 65 73 74 69 6e 61 74 69 6f 6e 20 74 72 65 65 2e 0a 20 2a 20 59 65 74 20 6d 6f 72 65 20 69 6e 69 estination.tree...*.Yet.more.ini
26340 74 5f 70 6f 73 69 74 69 6f 6e 20 74 77 65 61 6b 73 20 2d 2d 20 75 73 65 20 78 20 70 6f 73 69 74 t_position.tweaks.--.use.x.posit
26360 69 6f 6e 20 68 69 6e 74 20 65 76 65 6e 20 69 66 20 79 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e ion.hint.even.if.y.is.out.of.ran
26380 67 65 20 61 6e 64 20 76 69 63 65 20 76 65 72 73 61 2c 20 61 6e 64 20 74 61 6b 65 20 77 69 6e 64 ge.and.vice.versa,.and.take.wind
263a0 6f 77 20 67 72 61 76 69 74 79 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 20 77 68 65 6e 20 70 6f 73 ow.gravity.into.account.when.pos
263c0 69 74 69 6f 6e 69 6e 67 2e 0a 20 2a 20 53 6f 6d 65 20 61 64 64 69 74 69 6f 6e 73 20 61 6e 64 20 itioning...*.Some.additions.and.
263e0 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 64 65 62 75 67 20 63 6f 64 65 20 28 improvements.to.the.debug.code.(
26400 6d 61 69 6e 6c 79 20 70 72 69 6e 74 69 6e 67 20 6e 61 6d 65 73 20 6f 66 20 63 6f 6e 73 74 61 6e mainly.printing.names.of.constan
26420 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 63 72 79 70 74 69 63 20 6e 75 6d 62 65 72 73 29 2e 0a ts.instead.of.cryptic.numbers)..
26440 0a 31 2e 30 2e 33 3a 0a 0a 20 2a 20 42 61 63 6b 70 6f 72 74 20 6e 65 77 20 69 6e 69 74 5f 70 6f .1.0.3:...*.Backport.new.init_po
26460 73 69 74 69 6f 6e 2c 20 2d 76 65 72 73 69 6f 6e 20 6f 70 74 69 6f 6e 2c 20 6e 65 77 20 6d 61 6e sition,.-version.option,.new.man
26480 20 70 61 67 65 73 2c 20 61 6e 64 20 70 61 6e 65 6c 2d 6d 69 73 63 2e 63 20 63 72 61 73 68 65 72 .pages,.and.panel-misc.c.crasher
264a0 2f 6f 76 65 72 66 6c 6f 77 20 66 69 78 65 73 2e 0a 0a 31 2e 30 2e 32 3a 0a 0a 20 2a 20 42 61 63 /overflow.fixes...1.0.2:...*.Bac
264c0 6b 70 6f 72 74 20 2d 6c 58 74 20 66 69 78 20 61 6e 64 20 6e 65 77 20 64 6f 63 75 6d 65 6e 74 61 kport.-lXt.fix.and.new.documenta
264e0 74 69 6f 6e 2e 0a 0a 31 2e 30 2e 31 3a 0a 0a 20 2a 20 46 69 78 20 72 65 6d 6f 76 65 5f 63 6c 69 tion...1.0.1:...*.Fix.remove_cli
26500 65 6e 74 20 73 6f 20 74 68 61 74 20 69 74 20 63 6f 6d 70 69 6c 65 73 20 77 69 74 68 20 2d 44 44 ent.so.that.it.compiles.with.-DD
26520 45 42 55 47 20 74 75 72 6e 65 64 20 6f 6e 2e 0a 0a 31 2e 30 2e 30 3a 0a 0a 20 2a 20 41 6c 6c 20 EBUG.turned.on...1.0.0:...*.All.
26540 72 69 67 68 74 2c 20 49 20 74 68 69 6e 6b 20 77 65 27 72 65 20 73 74 61 62 6c 65 20 6e 6f 77 2e right,.I.think.we're.stable.now.
26560 20 4e 65 77 20 73 74 75 66 66 20 77 69 6c 6c 20 67 6f 20 69 6e 74 6f 20 31 2e 31 2e 78 2e 0a 20 .New.stuff.will.go.into.1.1.x...
26580 2a 20 43 68 61 6e 67 65 64 20 69 6e 69 74 5f 70 6f 73 69 74 69 6f 6e 20 73 6f 20 74 68 61 74 20 *.Changed.init_position.so.that.
265a0 69 74 20 64 6f 65 73 6e 27 74 20 63 75 74 20 6f 66 66 20 76 65 72 79 20 6c 61 72 67 65 20 77 69 it.doesn't.cut.off.very.large.wi
265c0 6e 64 6f 77 73 2e 20 54 68 69 73 20 77 61 73 20 6d 65 72 65 6c 79 20 61 6e 6e 6f 79 69 6e 67 20 ndows..This.was.merely.annoying.
265e0 66 6f 72 20 72 65 67 75 6c 61 72 20 77 69 6e 64 6f 77 73 2c 20 62 75 74 20 69 74 20 77 61 73 20 for.regular.windows,.but.it.was.
26600 64 6f 77 6e 72 69 67 68 74 20 62 75 67 67 79 20 66 6f 72 20 69 6e 63 73 69 7a 65 64 20 6f 6e 65 downright.buggy.for.incsized.one
26620 73 2e 0a 20 2a 20 46 69 78 65 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 62 75 67 20 77 68 65 6e s...*.Fixed.compilation.bug.when
26640 20 73 68 61 70 65 20 73 75 70 70 6f 72 74 20 77 61 73 20 64 69 73 61 62 6c 65 64 2e 0a 0a 30 2e .shape.support.was.disabled...0.
26660 39 2e 31 39 3a 0a 0a 20 2a 20 4f 4b 2c 20 49 20 62 72 6f 6b 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 9.19:...*.OK,.I.broke.command.li
26680 6e 65 20 70 61 72 73 69 6e 67 20 61 67 61 69 6e 2e 20 59 65 73 2c 20 49 27 6d 20 61 6e 20 69 64 ne.parsing.again..Yes,.I'm.an.id
266a0 69 6f 74 2e 0a 20 2a 20 46 69 78 65 64 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 65 78 65 63 28 iot...*.Fixed.problem.with.exec(
266c0 29 2d 69 6e 67 20 61 20 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 70 72 6f 67 72 61 6d 2e 0a 0a 30 )-ing.a.non-existent.program...0
266e0 2e 39 2e 31 38 3a 0a 0a 20 2a 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 69 6e 69 74 5f 70 6f 73 .9.18:...*.Fixed.bug.in.init_pos
26700 69 74 69 6f 6e 3b 20 77 65 20 63 61 6e 20 73 61 66 65 6c 79 20 75 73 65 20 50 50 6f 73 69 74 69 ition;.we.can.safely.use.PPositi
26720 6f 6e 20 6e 6f 77 2e 20 49 66 20 77 69 6e 64 6f 77 73 20 73 74 61 72 74 20 70 6f 70 70 69 6e 67 on.now..If.windows.start.popping
26740 20 75 70 20 69 6e 20 62 61 64 20 70 6c 61 63 65 73 2c 20 63 68 65 63 6b 20 74 68 65 69 72 20 73 .up.in.bad.places,.check.their.s
26760 69 7a 65 20 68 69 6e 74 73 20 62 65 66 6f 72 65 20 79 65 6c 6c 69 6e 67 20 61 74 20 6d 65 2e 0a ize.hints.before.yelling.at.me..
26780 20 2a 20 55 73 65 20 66 6f 72 6b 2f 65 78 65 63 20 69 6e 73 74 65 61 64 20 6f 66 20 73 79 73 74 .*.Use.fork/exec.instead.of.syst
267a0 65 6d 28 33 29 20 74 6f 20 72 75 6e 20 70 72 6f 67 72 61 6d 73 2e 20 46 69 78 65 64 20 73 69 67 em(3).to.run.programs..Fixed.sig
267c0 6e 61 6c 20 68 61 6e 64 6c 65 72 73 20 74 6f 20 72 65 66 6c 65 63 74 20 74 68 69 73 20 28 77 65 nal.handlers.to.reflect.this.(we
267e0 20 6e 65 65 64 20 50 4f 53 49 58 20 73 69 67 61 63 74 69 6f 6e 28 32 29 29 2e 0a 20 2a 20 43 6c .need.POSIX.sigaction(2))...*.Cl
26800 65 61 6e 65 64 20 75 70 20 4d 57 4d 20 68 69 6e 74 73 2f 57 4d 5f 53 49 5a 45 20 68 69 6e 74 73 eaned.up.MWM.hints/WM_SIZE.hints
26820 20 63 6f 64 65 20 28 74 68 65 79 20 73 6f 72 74 20 6f 66 20 6d 61 74 63 68 20 6e 6f 77 29 2c 20 .code.(they.sort.of.match.now),.
26840 61 6e 64 20 6f 6e 6c 79 20 72 65 71 75 65 73 74 20 74 68 65 20 4d 57 4d 20 61 74 6f 6d 20 61 74 and.only.request.the.MWM.atom.at
26860 20 73 74 61 72 74 75 70 20 69 6e 73 74 65 61 64 20 6f 66 20 66 6f 72 20 65 61 63 68 20 63 61 6c .startup.instead.of.for.each.cal
26880 6c 2e 0a 20 2a 20 53 74 61 72 74 65 64 20 79 65 74 20 61 6e 6f 74 68 65 72 20 67 6f 6f 64 69 65 l...*.Started.yet.another.goodie
268a0 73 20 72 65 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 61 6e 64 20 65 6e 64 65 64 20 75 70 20 72 s.reorganization,.and.ended.up.r
268c0 65 76 65 72 74 69 6e 67 20 61 20 6c 6f 74 20 6f 66 20 69 74 2e 20 48 6f 77 65 76 65 72 20 77 68 everting.a.lot.of.it..However.wh
268e0 61 74 27 73 20 63 68 61 6e 67 65 64 20 73 68 6f 75 6c 64 20 67 6f 20 61 20 6c 69 74 74 6c 65 20 at's.changed.should.go.a.little.
26900 77 61 79 73 20 74 6f 77 61 72 64 73 20 63 6c 65 61 6e 69 6e 67 20 74 68 69 6e 67 73 20 75 70 2e ways.towards.cleaning.things.up.
26920 0a 20 2a 20 46 69 78 20 61 20 62 75 69 6c 64 20 65 72 72 6f 72 20 77 68 65 72 65 20 73 6f 6d 65 ..*.Fix.a.build.error.where.some
26940 20 67 6f 6f 64 69 65 73 20 66 69 6c 65 73 20 74 68 61 74 20 6e 65 65 64 65 64 20 74 6f 20 62 65 .goodies.files.that.needed.to.be
26960 20 63 6f 6d 70 69 6c 65 64 20 61 67 61 69 6e 73 74 20 58 20 77 65 72 65 20 63 6f 6d 70 69 6c 65 .compiled.against.X.were.compile
26980 64 20 77 69 74 68 6f 75 74 20 2d 49 2f 75 73 65 2f 58 31 31 52 36 2f 6c 69 62 2c 20 66 61 69 6c d.without.-I/use/X11R6/lib,.fail
269a0 69 6e 67 20 6f 6e 20 73 79 73 74 65 6d 73 20 77 69 74 68 6f 75 74 20 61 20 73 79 6d 6c 69 6e 6b ing.on.systems.without.a.symlink
269c0 20 66 72 6f 6d 20 2f 75 73 72 2f 69 6e 63 6c 75 64 65 2f 58 31 31 2e 0a 20 2a 20 54 6f 73 73 65 .from./usr/include/X11...*.Tosse
269e0 64 20 6f 75 74 20 68 69 73 74 6f 72 69 63 61 6c 20 27 69 68 65 69 67 68 74 27 20 6a 75 6e 6b 20 d.out.historical.'iheight'.junk.
26a00 69 6e 20 62 6f 72 64 65 72 20 63 61 6c 63 75 6c 61 74 69 6f 6e 2e 0a 0a 30 2e 39 2e 31 37 3a 0a in.border.calculation...0.9.17:.
26a20 0a 20 2a 20 55 73 65 20 6c 6e 20 2d 66 20 74 6f 20 69 67 6e 6f 72 65 20 6f 76 65 72 77 72 69 74 ..*.Use.ln.-f.to.ignore.overwrit
26a40 69 6e 67 20 70 72 65 76 69 6f 75 73 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 6d 61 6e 70 61 67 65 ing.previously.installed.manpage
26a60 20 6c 69 6e 6b 73 2e 0a 20 2a 20 49 66 20 4d 57 4d 20 68 69 6e 74 73 20 61 72 65 20 65 6e 61 62 .links...*.If.MWM.hints.are.enab
26a80 6c 65 64 2c 20 6e 6f 2d 62 6f 72 64 65 72 20 77 69 6e 64 6f 77 73 20 77 69 6c 6c 20 6e 6f 20 6c led,.no-border.windows.will.no.l
26aa0 6f 6e 67 65 72 20 67 65 74 20 61 20 62 6f 72 64 65 72 20 75 70 6f 6e 20 65 78 69 74 69 6e 67 2e onger.get.a.border.upon.exiting.
26ac0 0a 20 2a 20 54 68 65 20 6f 72 64 65 72 20 6f 66 20 62 75 74 74 6f 6e 73 20 69 6e 20 2a 2d 70 61 ..*.The.order.of.buttons.in.*-pa
26ae0 6c 65 74 74 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 63 68 61 6e 67 65 64 20 62 79 20 74 69 lette.is.no.longer.changed.by.ti
26b00 74 6c 65 20 75 70 64 61 74 65 73 20 6f 72 20 75 6e 68 69 64 69 6e 67 20 77 69 6e 64 6f 77 73 2e tle.updates.or.unhiding.windows.
26b20 0a 20 2a 20 78 61 77 2d 70 61 6c 65 74 74 65 20 77 61 73 20 66 69 78 65 64 20 74 6f 20 77 6f 72 ..*.xaw-palette.was.fixed.to.wor
26b40 6b 20 77 69 74 68 20 70 72 6f 70 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 58 61 77 20 28 73 k.with.proper.versions.of.Xaw.(s
26b60 68 61 6d 65 20 6f 6e 20 6d 65 20 66 6f 72 20 74 65 73 74 69 6e 67 20 77 69 74 68 20 58 61 77 33 hame.on.me.for.testing.with.Xaw3
26b80 64 21 29 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 6f 6e 65 20 69 6e 20 58 46 34 2e 20 54 d!),.including.the.one.in.XF4..T
26ba0 68 65 20 6e 65 77 20 69 6e 74 65 72 6e 61 6c 73 20 68 61 76 65 20 70 6f 72 74 65 64 20 6f 76 65 he.new.internals.have.ported.ove
26bc0 72 20 74 6f 20 67 74 6b 2d 70 61 6c 65 74 74 65 2e 0a 0a 30 2e 39 2e 31 36 3a 0a 0a 20 2a 20 46 r.to.gtk-palette...0.9.16:...*.F
26be0 69 78 65 64 20 61 20 73 68 61 70 69 6e 67 20 62 75 67 20 28 77 68 69 63 68 20 61 63 74 75 61 6c ixed.a.shaping.bug.(which.actual
26c00 6c 79 20 65 78 69 73 74 65 64 20 62 65 66 6f 72 65 20 63 68 61 6e 67 65 73 20 6d 61 64 65 20 69 ly.existed.before.changes.made.i
26c20 6e 20 30 2e 39 2e 31 35 29 20 77 68 65 72 65 20 61 20 77 69 6e 64 6f 77 20 74 68 61 74 20 75 73 n.0.9.15).where.a.window.that.us
26c40 65 64 20 74 6f 20 62 65 20 73 68 61 70 65 64 2c 20 62 75 74 20 74 68 65 6e 20 62 65 63 61 6d 65 ed.to.be.shaped,.but.then.became
26c60 20 75 6e 73 68 61 70 65 64 2c 20 77 61 73 6e 27 74 20 75 70 64 61 74 65 64 20 70 72 6f 70 65 72 .unshaped,.wasn't.updated.proper
26c80 6c 79 2e 0a 20 2a 20 4d 57 4d 20 68 69 6e 74 73 20 73 75 70 70 6f 72 74 20 63 61 6e 20 6e 6f 77 ly...*.MWM.hints.support.can.now
26ca0 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 69 6e 20 77 69 74 68 20 2d 44 4d 57 4d 5f 48 49 4e 54 53 .be.compiled.in.with.-DMWM_HINTS
26cc0 2c 20 74 68 61 6e 6b 73 20 74 6f 20 68 65 6c 70 20 66 72 6f 6d 20 41 64 61 6d 20 53 61 6d 70 73 ,.thanks.to.help.from.Adam.Samps
26ce0 6f 6e 20 3c 61 7a 7a 40 67 6e 75 2e 6f 72 67 3e 2e 0a 20 2a 20 53 65 74 20 74 68 65 20 69 6e 70 on.<azz@gnu.org>...*.Set.the.inp
26d00 75 74 20 66 6f 63 75 73 20 75 70 6f 6e 20 65 6e 74 65 72 69 6e 67 20 61 20 77 69 6e 64 6f 77 20 ut.focus.upon.entering.a.window.
26d20 66 72 61 6d 65 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 20 65 6e 74 65 72 69 6e 67 20 74 68 frame,.instead.of.on.entering.th
26d40 65 20 63 68 69 6c 64 20 77 69 6e 64 6f 77 2e 0a 0a 30 2e 39 2e 31 35 3a 0a 0a 20 2a 20 44 69 73 e.child.window...0.9.15:...*.Dis
26d60 70 6c 61 79 20 61 20 74 69 74 6c 65 62 61 72 20 66 6f 72 20 73 68 61 70 65 64 20 77 69 6e 64 6f play.a.titlebar.for.shaped.windo
26d80 77 73 2e 20 54 68 69 73 20 61 6c 73 6f 20 6d 61 6b 65 73 20 74 68 65 20 62 75 67 20 77 68 65 72 ws..This.also.makes.the.bug.wher
26da0 65 20 73 68 61 70 65 64 20 77 69 6e 64 6f 77 73 20 77 65 72 65 20 67 65 74 74 69 6e 67 20 67 72 e.shaped.windows.were.getting.gr
26dc0 61 76 69 74 61 74 65 64 20 61 73 20 69 66 20 74 68 65 79 20 68 61 64 20 61 20 74 69 74 6c 65 62 avitated.as.if.they.had.a.titleb
26de0 61 72 20 69 72 72 65 6c 65 76 61 6e 74 2e 0a 20 2a 20 54 69 6e 79 20 63 6c 65 61 6e 75 70 73 20 ar.irrelevant...*.Tiny.cleanups.
26e00 66 6f 72 20 74 68 65 20 44 65 62 69 61 6e 20 70 61 63 6b 61 67 65 2c 20 69 6e 63 6c 75 64 69 6e for.the.Debian.package,.includin
26e20 67 3a 0a 20 2a 20 4d 61 6e 20 70 61 67 65 20 66 6f 72 20 74 68 65 20 67 6f 6f 64 69 65 73 2e 0a g:..*.Man.page.for.the.goodies..
26e40 20 2a 20 54 79 70 6f 20 69 6e 20 6d 61 6b 65 66 69 6c 65 20 66 69 78 65 64 20 28 74 72 69 65 64 .*.Typo.in.makefile.fixed.(tried
26e60 20 74 6f 20 73 74 72 69 70 20 6d 61 6e 70 61 67 65 2c 20 61 68 2d 72 65 65 72 2d 72 65 65 72 2d .to.strip.manpage,.ah-reer-reer-
26e80 72 65 65 72 29 2e 0a 20 2a 20 50 6f 6c 69 73 68 65 64 20 74 68 65 20 6d 61 69 6e 20 6d 61 6e 20 reer)...*.Polished.the.main.man.
26ea0 70 61 67 65 20 61 20 62 69 74 2e 0a 0a 30 2e 39 2e 31 34 3a 0a 0a 20 2a 20 46 72 65 65 20 63 75 page.a.bit...0.9.14:...*.Free.cu
26ec0 72 73 6f 72 73 20 61 6e 64 20 47 43 73 20 69 6e 20 71 75 69 74 5f 6e 69 63 65 6c 79 2e 0a 20 2a rsors.and.GCs.in.quit_nicely...*
26ee0 20 53 77 69 74 63 68 20 6f 72 64 65 72 20 6f 66 20 6f 62 6a 65 63 74 73 20 61 6e 64 20 6c 69 62 .Switch.order.of.objects.and.lib
26f00 72 61 72 69 65 73 20 69 6e 20 4d 61 6b 65 66 69 6c 65 20 74 6f 20 70 6c 61 63 61 74 65 20 53 6f raries.in.Makefile.to.placate.So
26f20 6c 61 72 69 73 20 63 63 2e 0a 20 2a 20 52 65 6e 61 6d 65 20 72 61 69 73 65 20 74 6f 20 72 61 69 laris.cc...*.Rename.raise.to.rai
26f40 73 65 5f 77 69 6e 20 2d 2d 20 72 61 69 73 65 20 69 73 20 69 6e 20 73 69 67 6e 61 6c 2e 68 20 6f se_win.--.raise.is.in.signal.h.o
26f60 66 20 63 6f 75 72 73 65 20 28 64 75 68 21 29 0a 20 2a 20 41 64 64 65 64 20 63 6f 70 79 72 69 67 f.course.(duh!)..*.Added.copyrig
26f80 68 74 20 6e 6f 74 69 63 65 20 74 6f 20 61 6c 6c 20 67 6f 6f 64 69 65 73 20 61 6e 64 20 4d 61 6b ht.notice.to.all.goodies.and.Mak
26fa0 65 66 69 6c 65 73 20 64 75 65 20 74 6f 20 73 6f 6d 65 6f 6e 65 20 69 67 6e 6f 72 69 6e 67 20 6d efiles.due.to.someone.ignoring.m
26fc0 79 20 6c 69 63 65 6e 73 65 20 28 74 68 69 73 20 68 61 73 20 62 65 65 6e 20 77 6f 72 6b 65 64 20 y.license.(this.has.been.worked.
26fe0 6f 75 74 29 2e 0a 20 2a 20 42 61 69 6c 20 6f 75 74 20 6f 6e 20 6c 61 63 6b 20 6f 66 20 64 65 66 out)...*.Bail.out.on.lack.of.def
27000 61 75 6c 74 20 66 6f 6e 74 2e 20 59 6f 75 20 2a 73 68 6f 75 6c 64 2a 20 62 65 20 72 65 61 64 69 ault.font..You.*should*.be.readi
27020 6e 67 20 61 65 77 6d 2e 68 20 66 69 72 73 74 20 6f 66 20 63 6f 75 72 73 65 20 3b 2d 29 0a 0a 30 ng.aewm.h.first.of.course.;-)..0
27040 2e 39 2e 31 33 3a 0a 0a 20 2a 20 46 69 78 20 72 65 61 6c 6c 79 20 73 74 75 70 69 64 20 74 68 69 .9.13:...*.Fix.really.stupid.thi
27060 6e 67 20 49 20 64 69 64 20 77 68 69 6c 65 20 72 65 66 61 63 74 6f 72 69 6e 67 20 6d 61 6b 65 5f ng.I.did.while.refactoring.make_
27080 6e 65 77 5f 63 6c 69 65 6e 74 2c 20 77 68 65 72 65 20 61 20 77 69 6e 64 6f 77 20 74 68 61 74 20 new_client,.where.a.window.that.
270a0 73 74 61 72 74 65 64 20 61 73 20 57 69 74 68 64 72 61 77 6e 20 77 6f 75 6c 64 20 73 74 61 79 20 started.as.Withdrawn.would.stay.
270c0 74 68 61 74 20 77 61 79 20 69 6e 73 74 65 61 64 20 6f 66 20 67 65 74 74 69 6e 67 20 6d 61 70 70 that.way.instead.of.getting.mapp
270e0 65 64 2e 0a 20 2a 20 44 65 61 6c 20 77 69 74 68 20 77 69 74 68 64 72 61 77 69 6e 67 20 63 6c 69 ed...*.Deal.with.withdrawing.cli
27100 65 6e 74 73 20 70 72 6f 70 65 72 6c 79 20 69 6e 20 2a 2d 70 61 6c 65 74 74 65 2c 20 62 79 20 77 ents.properly.in.*-palette,.by.w
27120 61 74 63 68 69 6e 67 20 66 6f 72 20 74 68 65 20 57 4d 5f 53 54 41 54 45 20 70 72 6f 70 65 72 74 atching.for.the.WM_STATE.propert
27140 79 20 74 6f 20 62 65 20 63 68 61 6e 67 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 6c 6f 6f 6b 69 y.to.be.changed.instead.of.looki
27160 6e 67 20 61 74 20 55 6e 6d 61 70 4e 6f 74 69 66 79 20 65 76 65 6e 74 73 2e 0a 0a 30 2e 39 2e 31 ng.at.UnmapNotify.events...0.9.1
27180 32 3a 0a 0a 20 2a 20 43 6c 65 61 6e 20 75 70 20 63 6c 69 65 6e 74 73 20 6f 6e 20 72 65 63 65 69 2:...*.Clean.up.clients.on.recei
271a0 70 74 20 6f 66 20 61 20 44 65 73 74 72 6f 79 4e 6f 74 69 66 79 2e 20 54 68 69 73 20 69 73 20 6e pt.of.a.DestroyNotify..This.is.n
271c0 65 65 64 65 64 20 77 68 65 6e 20 61 20 63 6c 69 65 6e 74 20 69 73 20 61 6c 72 65 61 64 79 20 75 eeded.when.a.client.is.already.u
271e0 6e 6d 61 70 70 65 64 20 28 69 2e 65 2c 20 74 68 65 20 75 73 65 72 20 69 63 6f 6e 69 66 69 65 64 nmapped.(i.e,.the.user.iconified
27200 20 69 74 29 20 61 6e 64 20 69 74 20 65 78 69 74 73 2e 0a 20 2a 20 50 72 65 73 65 72 76 65 20 77 .it).and.it.exits...*.Preserve.w
27220 69 6e 64 6f 77 20 73 74 61 63 6b 69 6e 67 20 6f 72 64 65 72 20 6f 6e 20 65 78 69 74 20 61 6e 64 indow.stacking.order.on.exit.and
27240 20 72 65 73 74 61 72 74 2e 0a 20 2a 20 4d 75 63 6b 65 64 20 61 62 6f 75 74 20 77 69 74 68 20 74 .restart...*.Mucked.about.with.t
27260 68 65 20 6d 61 6b 65 5f 6e 65 77 5f 63 6c 69 65 6e 74 20 6c 6f 67 69 63 3b 20 74 65 6c 6c 20 6d he.make_new_client.logic;.tell.m
27280 65 20 69 66 20 74 68 69 73 20 62 72 65 61 6b 73 20 73 6f 6d 65 74 68 69 6e 67 2e 0a 20 2a 20 41 e.if.this.breaks.something...*.A
272a0 64 64 65 64 20 67 74 6b 2d 2a 2d 6d 65 6e 75 20 63 6c 69 65 6e 74 73 20 63 6f 6e 74 72 69 62 75 dded.gtk-*-menu.clients.contribu
272c0 74 65 64 20 62 79 20 41 64 61 6d 20 53 61 6d 70 73 6f 6e 20 3c 61 7a 7a 40 67 6e 75 2e 6f 72 67 ted.by.Adam.Sampson.<azz@gnu.org
272e0 3e 2e 0a 0a 30 2e 39 2e 31 31 3a 0a 0a 20 2a 20 47 6f 74 20 72 69 64 20 6f 66 20 75 6e 6e 65 65 >...0.9.11:...*.Got.rid.of.unnee
27300 64 65 64 20 50 72 6f 70 65 72 74 79 43 68 61 6e 67 65 4d 61 73 6b 20 6f 6e 20 72 6f 6f 74 20 77 ded.PropertyChangeMask.on.root.w
27320 69 6e 64 6f 77 2e 20 53 69 6c 6c 79 20 6d 65 2e 0a 20 2a 20 52 65 6d 6f 76 65 64 20 74 68 65 20 indow..Silly.me...*.Removed.the.
27340 75 67 6c 79 20 61 72 72 61 79 2f 6c 69 6e 6b 65 64 2d 6c 69 73 74 20 68 61 63 6b 20 66 72 6f 6d ugly.array/linked-list.hack.from
27360 20 78 61 77 2d 70 61 6c 65 74 74 65 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 69 6e 74 65 72 6e .xaw-palette,.so.that.the.intern
27380 61 6c 20 77 6f 72 6b 69 6e 67 73 20 6f 66 20 62 6f 74 68 20 70 61 6c 65 74 74 65 20 63 6c 69 65 al.workings.of.both.palette.clie
273a0 6e 74 73 20 61 72 65 20 6e 6f 77 20 62 61 73 69 63 61 6c 6c 79 20 69 64 65 6e 74 69 63 61 6c 2e nts.are.now.basically.identical.
273c0 0a 20 2a 20 73 74 61 74 69 63 27 64 20 65 76 65 72 79 74 68 69 6e 67 20 74 68 61 74 20 73 68 6f ..*.static'd.everything.that.sho
273e0 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 73 74 61 74 69 63 2e 0a 20 2a 20 55 70 64 61 74 65 64 uld.have.been.static...*.Updated
27400 20 65 6d 61 69 6c 2c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 65 74 63 2e 0a 20 2a 20 47 .email,.documentation,.etc...*.G
27420 6f 74 20 72 69 64 20 6f 66 20 68 61 6e 64 6c 65 5f 72 65 70 61 72 65 6e 74 5f 65 76 65 6e 74 2c ot.rid.of.handle_reparent_event,
27440 20 61 73 20 61 20 63 6c 69 65 6e 74 20 63 61 6c 6c 20 74 6f 20 58 52 65 70 61 72 65 6e 74 57 69 .as.a.client.call.to.XReparentWi
27460 6e 64 6f 77 20 69 73 20 74 61 6b 65 6e 20 63 61 72 65 20 6f 66 20 62 79 20 68 61 6e 64 6c 65 5f ndow.is.taken.care.of.by.handle_
27480 75 6e 6d 61 70 5f 65 76 65 6e 74 2e 0a 20 2a 20 42 61 63 6b 65 64 20 6f 75 74 20 74 68 65 20 30 unmap_event...*.Backed.out.the.0
274a0 2e 39 2e 39 20 63 68 61 6e 67 65 20 74 6f 20 6f 70 74 69 6f 6e 2d 70 61 72 73 69 6e 67 20 6d 61 .9.9.change.to.option-parsing.ma
274c0 63 72 6f 73 2c 20 77 68 69 63 68 20 77 65 72 65 20 63 61 75 73 69 6e 67 20 61 6c 6c 20 6f 70 74 cros,.which.were.causing.all.opt
274e0 69 6f 6e 73 20 74 6f 20 66 61 69 6c 20 6d 69 73 65 72 61 62 6c 79 20 28 61 72 67 68 29 2e 0a 0a ions.to.fail.miserably.(argh)...
27500 30 2e 39 2e 31 30 3a 0a 0a 20 2a 20 48 61 6e 64 6c 65 20 77 69 74 68 64 72 61 77 69 6e 67 20 77 0.9.10:...*.Handle.withdrawing.w
27520 69 6e 64 6f 77 73 20 70 72 6f 70 65 72 6c 79 20 69 6e 20 78 61 77 2d 70 61 6c 65 74 74 65 2e 20 indows.properly.in.xaw-palette..
27540 42 6f 74 68 20 70 61 6c 65 74 74 65 20 63 6c 69 65 6e 74 73 20 61 72 65 20 61 20 6c 69 74 74 6c Both.palette.clients.are.a.littl
27560 65 20 73 61 6e 65 72 20 6e 6f 77 2e 0a 20 2a 20 55 70 64 61 74 65 64 20 67 6f 6f 64 69 65 73 20 e.saner.now...*.Updated.goodies.
27580 64 6f 63 73 2e 0a 20 2a 20 75 6e 67 72 61 76 69 74 61 74 65 20 77 68 65 6e 20 70 72 69 6e 74 69 docs...*.ungravitate.when.printi
275a0 6e 67 20 67 65 6f 6d 65 74 72 79 20 66 6f 72 20 6d 6f 76 65 2f 72 65 73 69 7a 65 2e 0a 20 2a 20 ng.geometry.for.move/resize...*.
275c0 4d 6f 76 65 64 20 6d 6f 72 65 20 63 6f 64 65 20 66 72 6f 6d 20 69 6e 64 69 76 69 64 75 61 6c 20 Moved.more.code.from.individual.
275e0 67 6f 6f 64 69 65 73 20 74 6f 20 63 6f 6d 6d 6f 6e 2d 72 75 6e 2e 63 2e 0a 20 2a 20 47 6f 74 20 goodies.to.common-run.c...*.Got.
27600 72 69 64 20 6f 66 20 75 6e 68 69 64 65 28 29 20 61 73 20 77 65 20 6e 65 76 65 72 20 75 73 65 20 rid.of.unhide().as.we.never.use.
27620 69 74 2e 0a 20 2a 20 52 65 70 6c 61 63 65 64 20 47 65 6e 65 72 69 63 57 69 64 67 65 74 20 74 79 it...*.Replaced.GenericWidget.ty
27640 70 65 64 65 66 20 73 69 6c 6c 69 6e 65 73 73 20 77 69 74 68 20 67 6c 6f 62 61 6c 20 76 61 72 69 pedef.silliness.with.global.vari
27660 61 62 6c 65 73 2e 20 73 6f 6d 65 74 69 6d 65 73 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 ables..sometimes.you.just.have.t
27680 6f 20 70 69 63 6b 20 74 68 65 20 6c 65 73 73 65 72 20 6f 66 20 74 77 6f 20 65 76 69 6c 73 2e 2e o.pick.the.lesser.of.two.evils..
276a0 2e 0a 0a 30 2e 39 2e 39 3a 0a 0a 20 2a 20 46 69 6e 61 6c 6c 79 20 64 65 2d 69 6e 73 61 6e 69 66 ...0.9.9:...*.Finally.de-insanif
276c0 69 65 64 20 68 61 6e 64 6c 65 5f 78 65 72 72 6f 72 2e 20 49 6e 73 74 65 61 64 20 6f 66 20 67 6f ied.handle_xerror..Instead.of.go
276e0 69 6e 67 20 74 68 72 6f 75 67 68 20 63 6f 6e 74 6f 72 74 69 6f 6e 73 20 69 6e 20 72 65 6d 6f 76 ing.through.contortions.in.remov
27700 65 5f 63 6c 69 65 6e 74 20 74 6f 20 61 76 6f 69 64 20 72 61 69 73 69 6e 67 20 65 72 72 6f 72 73 e_client.to.avoid.raising.errors
27720 2c 20 77 65 20 74 75 72 6e 20 74 68 65 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 72 20 6f 66 66 20 ,.we.turn.the.error.handler.off.
27740 64 75 72 69 6e 67 20 74 68 65 20 73 65 72 76 65 72 20 67 72 61 62 2e 0a 20 2a 20 42 6f 74 68 20 during.the.server.grab...*.Both.
27760 70 61 6c 65 74 74 65 20 67 6f 6f 64 69 65 73 20 6e 6f 77 20 74 72 61 63 6b 20 69 63 6f 6e 69 66 palette.goodies.now.track.iconif
27780 69 63 61 74 69 6f 6e 20 6f 66 20 63 6c 69 65 6e 74 73 20 61 6e 64 20 57 4d 5f 4e 41 4d 45 20 63 ication.of.clients.and.WM_NAME.c
277a0 68 61 6e 67 65 73 2e 0a 20 2a 20 67 74 6b 2d 70 61 6c 65 74 74 65 20 69 73 20 6e 6f 77 20 6f 72 hanges...*.gtk-palette.is.now.or
277c0 69 65 6e 74 65 64 20 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 2c 20 61 6e 64 20 69 6e 63 6c 75 64 65 iented.horizontally,.and.include
277e0 73 20 61 20 6d 65 6e 75 2c 20 70 72 6f 76 69 64 69 6e 67 20 6c 6f 74 73 20 6d 6f 72 65 20 73 70 s.a.menu,.providing.lots.more.sp
27800 61 63 65 20 66 6f 72 20 63 6c 69 65 6e 74 20 62 75 74 74 6f 6e 73 2e 0a 20 2a 20 4d 61 64 65 20 ace.for.client.buttons...*.Made.
27820 74 68 65 20 70 61 72 73 65 5f 6f 70 74 69 6f 6e 20 6d 61 63 72 6f 73 20 72 65 75 73 61 62 6c 65 the.parse_option.macros.reusable
27840 20 28 74 68 61 6e 6b 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 2e 6c 61 6e 67 2e 63 20 66 6f 6c 6b .(thanks.to.the.comp.lang.c.folk
27860 73 20 66 6f 72 20 74 68 65 20 72 65 6d 69 6e 64 65 72 29 2e 0a 20 2a 20 6d 61 6b 65 20 73 75 72 s.for.the.reminder)...*.make.sur
27880 65 20 67 65 74 5f 77 6d 5f 6e 61 6d 65 20 69 6e 20 74 68 65 20 67 6f 6f 64 69 65 73 20 64 6f 65 e.get_wm_name.in.the.goodies.doe
278a0 73 6e 27 74 20 63 72 61 73 68 20 66 6f 72 20 77 69 6e 64 6f 77 73 20 74 68 61 74 20 68 61 76 65 sn't.crash.for.windows.that.have
278c0 20 6e 6f 20 6e 61 6d 65 2e 0a 20 2a 20 4d 69 6e 6f 72 20 74 79 70 6f 20 63 6f 72 72 65 63 74 69 .no.name...*.Minor.typo.correcti
278e0 6f 6e 73 20 61 6e 64 20 73 74 75 66 66 2e 0a 0a 30 2e 39 2e 38 3a 0a 0a 20 2a 20 42 72 6f 77 6e ons.and.stuff...0.9.8:...*.Brown
27900 20 70 61 70 65 72 20 62 61 67 3a 20 74 61 6b 65 20 64 65 62 75 67 67 69 6e 67 20 73 74 75 70 69 .paper.bag:.take.debugging.stupi
27920 64 69 74 79 20 6f 75 74 20 6f 66 20 67 74 6b 2d 70 61 6c 65 74 74 65 2e 0a 20 2a 20 4f 76 65 72 dity.out.of.gtk-palette...*.Over
27940 68 61 75 6c 20 74 68 65 20 67 6f 6f 64 69 65 73 27 20 62 75 69 6c 64 20 73 79 73 74 65 6d 20 79 haul.the.goodies'.build.system.y
27960 65 74 20 61 67 61 69 6e 2e 0a 20 2a 20 47 74 6b 2d 70 61 6c 65 74 74 65 20 6e 6f 77 20 67 65 74 et.again...*.Gtk-palette.now.get
27980 73 20 74 68 65 20 73 63 72 65 65 6e 20 73 69 7a 65 20 63 6f 72 72 65 63 74 6c 79 2e 0a 20 2a 20 s.the.screen.size.correctly...*.
279a0 41 6c 6c 20 73 77 69 74 63 68 2f 70 61 6c 65 74 74 65 20 67 6f 6f 64 69 65 73 20 6e 6f 77 20 63 All.switch/palette.goodies.now.c
279c0 75 74 20 6f 66 66 20 6c 6f 6e 67 20 74 69 74 6c 65 73 2c 20 75 73 65 20 57 4d 5f 4e 41 4d 45 20 ut.off.long.titles,.use.WM_NAME.
279e0 69 6e 73 74 65 61 64 20 6f 66 20 57 4d 5f 49 43 4f 4e 5f 4e 41 4d 45 2c 20 61 6e 64 20 70 6c 61 instead.of.WM_ICON_NAME,.and.pla
27a00 63 65 20 69 63 6f 6e 69 66 69 65 64 20 74 69 74 6c 65 73 20 69 6e 20 70 61 72 65 6e 74 68 65 73 ce.iconified.titles.in.parenthes
27a20 69 73 2e 0a 20 2a 20 4e 6f 20 63 68 61 6e 67 65 73 20 74 6f 20 61 65 77 6d 20 69 74 73 65 6c 66 is...*.No.changes.to.aewm.itself
27a40 20 69 6e 20 74 68 69 73 20 72 65 6c 65 61 73 65 2e 0a 0a 30 2e 39 2e 37 3a 0a 0a 20 2a 20 41 64 .in.this.release...0.9.7:...*.Ad
27a60 64 65 64 20 6c 6f 74 73 20 6f 66 20 63 6f 6d 6d 65 6e 74 73 2e 0a 20 2a 20 47 65 6e 65 72 61 6c ded.lots.of.comments...*.General
27a80 20 63 6f 64 65 20 63 6c 65 61 6e 75 70 73 2c 20 74 77 65 61 6b 73 2c 20 72 65 66 6f 72 6d 61 74 .code.cleanups,.tweaks,.reformat
27aa0 73 20 61 6c 6c 20 6f 76 65 72 2e 0a 20 2a 20 46 69 78 65 64 20 69 63 6f 6e 69 63 20 73 74 61 74 s.all.over...*.Fixed.iconic.stat
27ac0 65 20 70 72 6f 62 6c 65 6d 2e 0a 20 2a 20 50 6c 75 67 67 65 64 20 61 20 6d 65 6d 6f 72 79 20 6c e.problem...*.Plugged.a.memory.l
27ae0 65 61 6b 20 69 6e 20 73 65 6e 64 5f 77 6d 5f 64 65 6c 65 74 65 2e 0a 20 2a 20 41 64 64 65 64 20 eak.in.send_wm_delete...*.Added.
27b00 2d 6e 65 77 33 2e 0a 20 2a 20 46 69 78 65 64 20 2d 6e 65 77 5b 31 32 33 5d 20 61 6c 6c 6f 63 61 -new3...*.Fixed.-new[123].alloca
27b20 74 69 6f 6e 20 62 75 67 2e 0a 20 2a 20 4d 61 64 65 20 64 65 62 75 67 20 63 6f 64 65 20 63 6f 6e tion.bug...*.Made.debug.code.con
27b40 73 69 64 65 72 61 62 6c 79 20 73 61 6e 65 72 2e 0a 20 2a 20 50 72 69 6e 74 20 22 38 30 78 32 35 siderably.saner...*.Print."80x25
27b60 22 20 61 6e 64 20 73 75 63 68 20 77 68 65 6e 20 72 65 73 69 7a 69 6e 67 20 78 74 65 72 6d 73 2e ".and.such.when.resizing.xterms.
27b80 0a 20 2a 20 52 65 70 6c 61 63 65 64 20 73 70 72 69 6e 74 66 20 77 69 74 68 20 73 6e 70 72 69 6e ..*.Replaced.sprintf.with.snprin
27ba0 74 66 2e 0a 20 2a 20 47 6f 74 20 72 69 64 20 6f 66 20 2d 64 69 73 70 6c 61 79 2e 20 73 65 74 20 tf...*.Got.rid.of.-display..set.
27bc0 44 49 53 50 4c 41 59 20 69 6e 20 79 6f 75 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 6e 73 74 DISPLAY.in.your.environment.inst
27be0 65 61 64 2c 20 73 6f 20 74 68 61 74 20 69 74 20 70 72 6f 70 61 67 61 74 65 73 20 74 6f 20 63 68 ead,.so.that.it.propagates.to.ch
27c00 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2e 0a 20 2a 20 4d 65 73 73 65 64 20 61 72 6f 75 6e 64 20 ild.processes...*.Messed.around.
27c20 77 69 74 68 20 74 68 65 20 67 6f 6f 64 69 65 73 27 20 62 75 69 6c 64 20 73 79 73 74 65 6d 2e 0a with.the.goodies'.build.system..
27c40 20 2a 20 46 69 78 65 64 20 67 74 6b 2d 70 61 6c 65 74 74 65 3b 20 65 76 65 6e 74 73 20 61 72 65 .*.Fixed.gtk-palette;.events.are
27c60 20 6e 6f 77 20 66 69 6c 74 65 72 65 64 20 70 72 6f 70 65 72 6c 79 20 61 74 20 74 68 65 20 47 44 .now.filtered.properly.at.the.GD
27c80 4b 20 6c 65 76 65 6c 2e 0a 20 2a 20 52 65 70 6c 61 63 65 64 20 76 61 72 69 61 62 6c 65 20 6c 65 K.level...*.Replaced.variable.le
27ca0 6e 67 74 68 20 61 72 72 61 79 73 20 77 69 74 68 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 2e 0a 20 2a ngth.arrays.with.malloc/free...*
27cc0 20 41 64 64 65 64 20 78 73 65 73 73 69 6f 6e 2c 20 73 69 6e 63 65 20 49 27 76 65 20 62 65 65 6e .Added.xsession,.since.I've.been
27ce0 20 75 73 69 6e 67 20 69 74 20 66 6f 72 65 76 65 72 2e 0a 0a 30 2e 39 2e 36 3a 0a 0a 20 2a 20 46 .using.it.forever...0.9.6:...*.F
27d00 69 78 20 66 6f 72 20 68 61 6e 64 6c 69 6e 67 20 69 6e 69 74 61 6c 20 77 69 6e 64 6f 77 20 67 65 ix.for.handling.inital.window.ge
27d20 6f 6d 65 74 72 79 2e 0a 20 2a 20 41 20 66 65 77 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 73 20 70 6c ometry...*.A.few.memory.leaks.pl
27d40 75 67 67 65 64 2e 0a 20 2a 20 57 72 6f 74 65 20 61 20 6d 61 6e 20 70 61 67 65 0a 20 2a 20 4d 6f ugged...*.Wrote.a.man.page..*.Mo
27d60 72 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 62 6f 72 64 65 72 73 20 66 6f 72 20 74 72 61 6e 73 69 re.consistent.borders.for.transi
27d80 65 6e 74 20 77 69 6e 64 6f 77 73 2e 0a 0a 30 2e 39 2e 35 3a 0a 0a 20 2a 20 50 72 69 6e 74 20 77 ent.windows...0.9.5:...*.Print.w
27da0 69 6e 64 6f 77 20 67 65 6f 6d 65 74 72 79 20 77 68 69 6c 65 20 6d 6f 76 69 6e 67 2f 72 65 73 69 indow.geometry.while.moving/resi
27dc0 7a 69 6e 67 2e 0a 20 2a 20 41 64 64 65 64 20 73 6f 6d 65 20 57 4d 5f 4e 4f 52 4d 41 4c 5f 48 49 zing...*.Added.some.WM_NORMAL_HI
27de0 4e 54 53 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 20 2a 20 53 65 74 20 74 68 65 20 6b 65 79 NTS.sanity.checks..*.Set.the.key
27e00 62 6f 61 72 64 20 66 6f 63 75 73 20 6f 6e 20 77 69 6e 64 6f 77 20 65 6e 74 65 72 20 28 66 6f 72 board.focus.on.window.enter.(for
27e20 20 72 78 76 74 2c 20 65 74 63 29 2e 0a 0a 30 2e 39 2e 34 3a 0a 0a 20 2a 20 52 6f 6f 74 20 6d 65 .rxvt,.etc)...0.9.4:...*.Root.me
27e40 6e 75 20 72 65 70 6c 61 63 65 64 20 62 79 20 61 6e 6f 74 68 65 72 20 63 6c 69 65 6e 74 2e 0a 20 nu.replaced.by.another.client...
27e60 2a 20 41 64 64 65 64 20 2d 62 77 20 6f 70 74 69 6f 6e 2e 0a 20 2a 20 42 6f 72 64 65 72 2d 64 72 *.Added.-bw.option...*.Border-dr
27e80 61 77 69 6e 67 20 66 69 78 65 73 20 28 6f 6e 6c 79 20 76 69 73 69 62 6c 65 20 69 66 20 79 6f 75 awing.fixes.(only.visible.if.you
27ea0 20 68 61 76 65 20 76 65 72 79 20 77 69 64 65 20 62 6f 72 64 65 72 73 29 2e 0a 20 2a 20 47 6f 74 .have.very.wide.borders)...*.Got
27ec0 20 72 69 64 20 6f 66 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 65 78 69 74 2e 0a 0a 30 2e 39 2e .rid.of.mouse.button.exit...0.9.
27ee0 33 3a 0a 0a 20 2a 20 50 75 74 20 74 68 65 20 72 6f 6f 74 20 6d 65 6e 75 20 63 6f 64 65 20 62 61 3:...*.Put.the.root.menu.code.ba
27f00 63 6b 20 69 6e 2e 0a 20 2a 20 41 64 64 65 64 20 6d 6f 72 65 20 67 6f 6f 64 69 65 73 20 61 6e 64 ck.in...*.Added.more.goodies.and
27f20 20 72 65 6f 72 67 61 6e 69 7a 65 64 20 74 68 65 6d 2e 0a 0a 30 2e 39 2e 32 3a 0a 0a 20 2a 20 4d .reorganized.them...0.9.2:...*.M
27f40 69 6e 6f 72 20 49 43 43 43 4d 20 63 6f 6d 70 6c 69 61 6e 63 65 20 66 69 78 20 72 65 67 61 72 64 inor.ICCCM.compliance.fix.regard
27f60 69 6e 67 20 57 4d 5f 53 54 41 54 45 2e 0a 0a 30 2e 39 2e 31 3a 0a 0a 20 2a 20 41 20 73 6d 61 6c ing.WM_STATE...0.9.1:...*.A.smal
27f80 6c 20 66 69 78 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 70 61 6c 65 74 74 65 20 63 6f 6d 70 6c 61 l.fix.to.make.the.palette.compla
27fa0 69 6e 20 69 66 20 6e 6f 20 72 63 20 66 69 6c 65 20 65 78 69 73 74 73 2e 0a 0a 30 2e 39 3a 0a 0a in.if.no.rc.file.exists...0.9:..
27fc0 20 2a 20 49 6e 69 74 69 61 6c 20 70 75 62 6c 69 63 20 72 65 6c 65 61 73 65 2e 20 42 65 66 6f 72 .*.Initial.public.release..Befor
27fe0 65 20 74 68 69 73 2c 20 61 65 77 6d 20 77 61 73 20 63 61 6c 6c 65 64 20 27 73 77 69 6d 27 20 61 e.this,.aewm.was.called.'swim'.a
28000 6e 64 20 77 61 73 20 75 73 65 64 20 62 79 20 6d 65 20 61 73 20 61 20 73 63 68 6f 6f 6c 20 70 72 nd.was.used.by.me.as.a.school.pr
28020 6f 6a 65 63 74 2e 20 49 74 20 77 61 73 20 61 6c 73 6f 20 72 61 74 68 65 72 20 75 6e 73 74 61 62 oject..It.was.also.rather.unstab
28040 6c 65 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 le..............................
28060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
280a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
280c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
280e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
281a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
281c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
281e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28200 77 69 6e 64 6f 77 6c 61 62 2d 31 2e 34 30 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 windowlab-1.40/.................
28220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28260 00 00 00 00 30 30 30 30 37 37 37 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000777.0001750.0001750.0000
28280 30 30 30 30 30 30 30 00 31 32 30 35 35 32 35 30 34 31 37 00 30 31 32 30 36 33 00 20 35 00 00 00 0000000.12055250417.012063..5...
282a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
282c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
282e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28300 00 75 73 74 61 72 20 20 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...nick...................
28320 00 00 00 00 00 00 00 00 00 6e 69 63 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........nick...................
28340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
283a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
283c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
283e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
284a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
284c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
284e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
285a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
285c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
285e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
288a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
288c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
288e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
290a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
290c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
290e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
292a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
292c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
292e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
294a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
294c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
294e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
296a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
296c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
296e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
297a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
297c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
297e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................