From c9f2aac99ad00273d2aa38278cc217d012a4216d Mon Sep 17 00:00:00 2001 From: Christian Hammond Date: Mon, 30 Aug 2004 05:28:22 +0000 Subject: [PATCH] Added the notification spec in docbook format. It's not finished. I'm just tired of working on it. --- ChangeLog | 7 + docs/notification-spec.ps | 3252 ++++++++++++++++++++++++++++++++++++ docs/notification-spec.xml | 789 +++++++++ 3 files changed, 4048 insertions(+) create mode 100644 docs/notification-spec.ps create mode 100644 docs/notification-spec.xml diff --git a/ChangeLog b/ChangeLog index 2820eb6..bad094e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Aug 29 22:27:42 PDT 2004 Christian Hammond + + A docs/notification-spec.ps: + A docs/notification-spec.xml: + - Added the notification spec in docbook format. It's not finished. + I'm just tired of working on it. + Wed Jul 14 02:11:48 GMT 2004 Mike Hearn * libnotify/notify.c: Use pointers instead of GINT_TO_POINTER * tools/test-replace.c: Test replacing notifications diff --git a/docs/notification-spec.ps b/docs/notification-spec.ps new file mode 100644 index 0000000..7e749b9 --- /dev/null +++ b/docs/notification-spec.ps @@ -0,0 +1,3252 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software +%%Title: notification-spec.dvi +%%Pages: 10 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: Helvetica-Bold Palatino-Bold Palatino-Roman Courier +%%+ Palatino-Italic Courier-Bold Courier-Oblique +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -R -q -t a4 notification-spec.dvi -o +%+ notification-spec.ps +%DVIPSParameters: dpi=600, compressed +%DVIPSSource: TeX output 2004.08.29:2216 +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: 8r.enc +% File 8r.enc as of 2002-03-12 for PSNFSS 9 +% +% This is the encoding vector for Type1 and TrueType fonts to be used +% with TeX. This file is part of the PSNFSS bundle, version 9 +% +% Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt +% +% Idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% +% (4) Remaining positions left undefined are for use in (hopefully) +% upward-compatible revisions, if someday more characters are generally +% available. +% +% (5) hyphen appears twice for compatibility with both ASCII and Windows. +% +% (6) /Euro is assigned to 128, as in Windows ANSI +% +/TeXBase1Encoding [ +% 0x00 (encoded characters from Adobe Standard not in Windows 3.1) + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef + /breve /minus /.notdef +% These are the only two remaining unencoded characters, so may as +% well include them. + /Zcaron /zcaron +% 0x10 + /caron /dotlessi +% (unusual TeX characters available in, e.g., Lucida Bright) + /dotlessj /ff /ffi /ffl + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + % very contentious; it's so painful not having quoteleft and quoteright + % at 96 and 145 that we move the things normally found there down to here. + /grave /quotesingle +% 0x20 (ASCII begins) + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three /four /five /six /seven + /eight /nine /colon /semicolon /less /equal /greater /question +% 0x40 + /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O +% 0x50 + /P /Q /R /S /T /U /V /W + /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o +% 0x70 + /p /q /r /s /t /u /v /w + /x /y /z /braceleft /bar /braceright /asciitilde + /.notdef % rubout; ASCII ends +% 0x80 + /Euro /.notdef /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /.notdef /.notdef /.notdef +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /.notdef /.notdef /Ydieresis +% 0xA0 + /.notdef % nobreakspace + /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot + /hyphen % Y&Y (also at 45); Windows' softhyphen + /registered + /macron +% 0xD0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def + +%%EndProcSet +%%BeginProcSet: texps.pro +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +TeXDict begin @defspecial + + /DvipsToPDF { 72.27 mul Resolution div } def /PDFToDvips { 72.27 div +Resolution mul } def /HyperBorder { 1 PDFToDvips } def /H.V {pdf@hoff +pdf@voff null} def /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def +/H.S { currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF +/pdf@hoff exch def HyperBorder sub /pdf@llx exch def } def /H.L { 2 +sub dup /HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint +HyperBaseDvips sub /pdf@ury exch def /pdf@urx exch def } def /H.A { +H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt +sub sub /pdf@voff exch def } def /H.R { currentpoint HyperBorder sub +/pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch +pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def } def systemdict +/pdfmark known not {userdict /pdfmark systemdict /cleartomark get put} +if + +@fedspecial end TeXDict begin +39158280 55380996 1000 600 600 (notification-spec.dvi) +@start /Fa 140[50 50 1[50 50 50 1[50 2[50 3[50 50 50 +1[50 1[50 95[{ TeXBase1Encoding ReEncodeFont }12 83.022 +/Courier-Oblique rf /Fb 134[45 45 1[45 45 45 45 45 1[45 +45 45 45 45 2[45 45 45 45 45 45 45 45 45 1[45 95[{ + TeXBase1Encoding ReEncodeFont }22 74.7198 /Courier-Oblique +rf /Fc 134[40 2[40 1[40 40 40 1[40 40 40 40 40 40 1[40 +1[40 40 40 40 40 40 40 13[40 4[40 4[40 1[40 3[40 20[40 +46[{ TeXBase1Encoding ReEncodeFont }25 67.2479 /Courier +rf /Fd 134[49 2[49 1[49 49 49 1[49 49 49 49 49 49 1[49 +1[49 49 49 49 49 49 49 13[49 4[49 4[49 1[49 3[49 20[49 +46[{ TeXBase1Encoding ReEncodeFont }25 82.1917 /Courier-Bold +rf /Fe 140[56 3[61 61 89 28 2[28 1[61 1[56 61 56 1[56 +13[67 5[84 77[{ TeXBase1Encoding ReEncodeFont }13 100.457 +/Helvetica-Bold rf /Ff 134[46 4[28 46 32 1[51 51 51 74 +23 2[23 3[46 1[46 1[46 12[51 5[60 8[55 60 68[{ + TeXBase1Encoding ReEncodeFont }17 83.022 /Helvetica-Bold +rf /Fg 136[54 1[42 25 29 29 2[33 42 58 21 2[21 37 37 +21 29 37 1[35 33 9[71 17[46 5[37 16[19 3[29 2[21 5[25 +33[{ TeXBase1Encoding ReEncodeFont }24 74.7198 /Palatino-Italic +rf /Fh 138[46 28 32 32 1[42 37 46 65 1[37 1[23 2[23 32 +1[34 38 37 13[46 4[65 9[65 10[42 42 42 42 42 42 42 1[42 +42 45[44 2[{ TeXBase1Encoding ReEncodeFont }28 83.022 +/Palatino-Italic rf /Fi 134[45 45 1[45 45 45 45 45 1[45 +45 45 45 45 45 1[45 45 45 45 45 45 45 45 45 1[45 5[45 +45 2[45 45 45 45 2[45 45 45 45 45 1[45 1[45 45 45 45 +45 45 45 2[45 45 45 45 7[45 45 2[45 45 45 45 2[45 45 +5[45 34[{ TeXBase1Encoding ReEncodeFont }55 74.7198 /Courier +rf /Fj 106[40 149[{ TeXBase1Encoding ReEncodeFont }1 +66.4176 /Palatino-Roman rf /Fk 133[42 46 43 69 47 50 +27 35 33 46 50 45 48 73 24 46 19 24 48 46 28 40 51 37 +46 42 1[42 5[55 55 83 1[65 51 44 55 1[50 65 69 79 51 +60 1[28 69 63 46 51 64 59 51 65 6[21 1[42 2[42 42 42 +42 42 42 50 21 28 21 2[28 28 23 4[31 30[50 50 2[{ + TeXBase1Encoding ReEncodeFont }67 83.022 /Palatino-Roman +rf /Fl 134[46 1[69 46 51 28 37 32 1[51 46 51 74 28 51 +1[28 1[46 32 42 51 37 51 42 10[65 65 55 51 60 1[51 1[69 +83 51 2[32 69 69 2[69 60 55 11[42 42 42 42 42 42 2[21 +28 42[51 2[{ TeXBase1Encoding ReEncodeFont }45 83.022 +/Palatino-Bold rf /Fm 135[51 1[51 5[56 56 56 81 1[51 +1[25 56 2[51 1[51 1[51 32[89 7[51 1[51 7[25 46[{ + TeXBase1Encoding ReEncodeFont }16 91.3242 /Helvetica-Bold +rf /Fn 134[61 1[86 61 68 37 61 43 1[68 68 68 98 31 61 +1[31 68 68 37 61 68 61 68 61 11[80 68 74 2[74 1[80 92 +68 2[31 80 3[80 80 80 20[37 42[68 2[{ TeXBase1Encoding ReEncodeFont }36 +110.502 /Helvetica-Bold rf /Fo 139[45 74 2[82 82 82 2[74 +1[37 3[74 1[74 1[74 13[89 4[97 9[97 65[82 2[{ + TeXBase1Encoding ReEncodeFont }14 133.707 /Helvetica-Bold +rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +a4 +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a -600 -600 +a +SDict begin [ /Title () /Subject () /Creator (LaTeX with hyperref package) +/Author () /Producer (dvips + Distiller) /Keywords () /DOCINFO pdfmark +end + -600 -600 a Black 0 TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 +a 0 TeXcolorgray 0 TeXcolorgray 197 -102 a +SDict begin H.R end + 197 -102 a +197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark +end + 197 -102 a Black Black 197 6 a +SDict begin [ /Count -9 /Dest (1.0) cvn /Title (Table of Contents) +/OUT pdfmark end + 197 6 a 197 +6 a +SDict begin [ /Count -0 /Dest (1.1.1) cvn /Title (Introduction) /OUT +pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.2.1) cvn /Title (Basic Design) /OUT +pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.3.1) cvn /Title (Backwards Compatibility) +/OUT pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.4.1) cvn /Title (Markup) /OUT pdfmark +end + 197 +6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.5.1) cvn /Title (Icons and Sounds) +/OUT pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.6.1) cvn /Title (Notification Types) +/OUT pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.7.1) cvn /Title (Urgency Levels) /OUT +pdfmark end + 197 6 a 197 +6 a +SDict begin [ /Count -0 /Dest (1.8.1) cvn /Title (Hints) /OUT pdfmark +end + 197 6 a 197 6 a +SDict begin [ /Count -2 /Dest (1.9.1) cvn /Title (DBUS Protocol) /OUT +pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -4 /Dest (1.9.1.2) cvn /Title (Message commands) +/OUT pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.9.1.1.3) cvn /Title (org.freedesktop.Notifications.GetCapabilities) +/OUT pdfmark end + 197 +6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.9.1.2.3) cvn /Title (org.freedesktop.Notifications.Notify) +/OUT pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.9.1.3.3) cvn /Title (org.freedesktop.Notifications.CloseNotification) +/OUT pdfmark end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.9.1.4.3) cvn /Title (org.freedesktop.Notifications.GetServerInformation) +/OUT pdfmark end + 197 6 a 197 +6 a +SDict begin [ /Count -1 /Dest (1.9.2.2) cvn /Title (Signals) /OUT pdfmark +end + 197 6 a 197 6 a +SDict begin [ /Count -0 /Dest (1.9.2.5.3) cvn /Title (org.freedesktop.Notifications.NotificationClosed) +/OUT pdfmark end + 197 6 a 197 6 a +SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW +pdfmark end + 197 6 a 197 6 a +SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark +end + 197 +6 a 197 6 a +SDict begin H.S end + 197 6 a 197 6 a +SDict begin 12 H.A end + 197 6 a 197 6 a +SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark +end + 197 6 a 197 +6 a +SDict begin H.S end + 197 6 a 197 6 a +SDict begin 12 H.A end + 197 6 a 197 6 a +SDict begin [ /View [/XYZ H.V] /Dest (index) cvn H.B /DEST pdfmark +end + 197 6 a 819 104 a +Fo(Desktop)36 b(Noti\002cations)g(Speci\002cation)1646 +300 y Fn(Mike)31 b(Hearn)1714 475 y Fm(mike@na)o(vi.cx)1416 +937 y Fn(Christian)e(Hammond)1526 1112 y Fm(c)o(hipx86@c)o(hipx86.com) +197 1582 y Fn(T)-9 b(ab)o(le)30 b(of)g(Contents)1121 +1582 y +SDict begin H.S end + 1121 1582 a 1121 1582 a +SDict begin 14.641 H.A end + 1121 1582 a 1121 1582 +a +SDict begin [ /View [/XYZ H.V] /Dest (1.0) cvn H.B /DEST pdfmark end + 1121 1582 a 0 TeXcolorgray 596 1728 a +SDict begin H.S end + 596 1728 a Fl(Introduction)1077 +1728 y +SDict begin 11 H.L end + 1077 1728 a 1077 1728 a +SDict begin [ /Subtype /Link /Dest (introduction) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1077 1728 a Black Black +12 w Fl(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black 0 TeXcolorgray 3642 1728 a +SDict begin H.S end + 3642 1728 +a Fl(3)3684 1728 y +SDict begin 11 H.L end + 3684 1728 a 3684 1728 a +SDict begin [ /Subtype /Link /Dest (introduction) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3684 1728 +a Black 0 TeXcolorgray 596 1840 a +SDict begin H.S end + 596 1840 a Fl(Basic)20 +b(Design)1088 1840 y +SDict begin 11 H.L end + 1088 1840 a 1088 1840 a +SDict begin [ /Subtype /Link /Dest (basic-design) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1088 1840 +a Black Black 1 w Fl(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black 0 TeXcolorgray 3642 1840 +a +SDict begin H.S end + 3642 1840 a Fl(3)3684 1840 y +SDict begin 11 H.L end + 3684 1840 a 3684 1840 +a +SDict begin [ /Subtype /Link /Dest (basic-design) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3684 1840 a Black 0 TeXcolorgray 596 1951 a +SDict begin H.S end + 596 1951 +a Fl(Backwards)f(Compatibility)1569 1951 y +SDict begin 11 H.L end + 1569 1951 +a 1569 1951 a +SDict begin [ /Subtype /Link /Dest (backwards-compat) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1569 1951 a Black Black -2 w Fl(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black 0 TeXcolorgray +3642 1951 a +SDict begin H.S end + 3642 1951 a Fl(4)3684 1951 y +SDict begin 11 H.L end + 3684 1951 a +3684 1951 a +SDict begin [ /Subtype /Link /Dest (backwards-compat) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3684 1951 a Black 0 TeXcolorgray 596 2062 +a +SDict begin H.S end + 596 2062 a Fl(Markup)906 2062 y +SDict begin 11 H.L end + 906 2062 a 906 2062 +a +SDict begin [ /Subtype /Link /Dest (markup) cvn /H /I /Border [0 0 +0] /Color [1 0 0] H.B /ANN pdfmark end + 906 2062 a Black Black 17 w Fl(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black 0 TeXcolorgray 3642 2062 a +SDict begin H.S end + 3642 +2062 a Fl(5)3684 2062 y +SDict begin 11 H.L end + 3684 2062 a 3684 2062 a +SDict begin [ /Subtype /Link /Dest (markup) cvn /H /I /Border [0 0 +0] /Color [1 0 0] H.B /ANN pdfmark end + 3684 +2062 a Black 0 TeXcolorgray 596 2173 a +SDict begin H.S end + 596 2173 a Fl(Icons)h(and)g +(Sounds)1270 2173 y +SDict begin 11 H.L end + 1270 2173 a 1270 2173 a +SDict begin [ /Subtype /Link /Dest (icons-sounds) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1270 2173 +a Black Black 6 w Fl(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black 0 TeXcolorgray +3642 2173 a +SDict begin H.S end + 3642 2173 a Fl(5)3684 2173 y +SDict begin 11 H.L end + 3684 2173 a +3684 2173 a +SDict begin [ /Subtype /Link /Dest (icons-sounds) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3684 2173 a Black 0 TeXcolorgray 596 2285 +a +SDict begin H.S end + 596 2285 a Fl(Noti\002cation)e(T)-7 b(ypes)1292 2285 +y +SDict begin 11 H.L end + 1292 2285 a 1292 2285 a +SDict begin [ /Subtype /Link /Dest (notification-types) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1292 2285 a Black Black 5 w +Fl(.)p Black Black(.)p Black Black(.)p Black Black -1 +w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black 0 TeXcolorgray 3642 2285 a +SDict begin H.S end + 3642 2285 a Fl(6)3684 +2285 y +SDict begin 11 H.L end + 3684 2285 a 3684 2285 a +SDict begin [ /Subtype /Link /Dest (notification-types) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3684 2285 a Black 0 TeXcolorgray +596 2396 a +SDict begin H.S end + 596 2396 a Fl(Urgency)20 b(Levels)1181 2396 +y +SDict begin 11 H.L end + 1181 2396 a 1181 2396 a +SDict begin [ /Subtype /Link /Dest (urgency-levels) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1181 2396 a Black Black 12 +w Fl(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black 0 TeXcolorgray +3642 2396 a +SDict begin H.S end + 3642 2396 a Fl(6)3684 2396 y +SDict begin 11 H.L end + 3684 2396 a +3684 2396 a +SDict begin [ /Subtype /Link /Dest (urgency-levels) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3684 2396 a Black 0 TeXcolorgray 596 2507 +a +SDict begin H.S end + 596 2507 a Fl(Hints)809 2507 y +SDict begin 11 H.L end + 809 2507 a 809 2507 +a +SDict begin [ /Subtype /Link /Dest (hints) cvn /H /I /Border [0 0 0] +/Color [1 0 0] H.B /ANN pdfmark end + 809 2507 a Black Black 11 w Fl(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +0 TeXcolorgray 3642 2507 a +SDict begin H.S end + 3642 2507 a Fl(6)3684 2507 +y +SDict begin 11 H.L end + 3684 2507 a 3684 2507 a +SDict begin [ /Subtype /Link /Dest (hints) cvn /H /I /Border [0 0 0] +/Color [1 0 0] H.B /ANN pdfmark end + 3684 2507 a Black 0 TeXcolorgray +596 2618 a +SDict begin H.S end + 596 2618 a Fl(D-BUS)g(Protocol)1198 2618 y +SDict begin 11 H.L end + +1198 2618 a 1198 2618 a +SDict begin [ /Subtype /Link /Dest (protocol) cvn /H /I /Border [0 +0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1198 2618 a Black Black 16 w +Fl(.)p Black Black(.)p Black Black(.)p Black Black -1 +w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black Black -1 w(.)p Black Black(.)p +Black Black(.)p Black Black(.)p Black Black -1 w(.)p +Black Black(.)p Black Black(.)p Black Black(.)p Black +Black -1 w(.)p Black Black(.)p Black Black(.)p Black +Black(.)p Black Black -1 w(.)p Black Black(.)p Black +Black(.)p Black Black(.)p Black Black -1 w(.)p Black +Black(.)p Black Black(.)p Black Black(.)p Black Black +-1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p +Black Black -1 w(.)p Black Black(.)p Black Black(.)p +Black Black(.)p Black 0 TeXcolorgray 3642 2618 a +SDict begin H.S end + 3642 +2618 a Fl(6)3684 2618 y +SDict begin 11 H.L end + 3684 2618 a 3684 2618 a +SDict begin [ /Subtype /Link /Dest (protocol) cvn /H /I /Border [0 +0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3684 +2618 a Black Black Black eop end +%%Page: 2 2 +TeXDict begin 2 1 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black 0 +TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 TeXcolorgray +197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark +end + 197 -102 a Black Black +Black Black eop end +%%Page: 3 3 +TeXDict begin 3 2 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black 0 +TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 TeXcolorgray +197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark +end + 197 -102 a Black Black +197 6 a +SDict begin H.S end + 197 6 a 197 6 a +SDict begin 11 H.A end + 197 6 a 197 6 a +SDict begin [ /View [/XYZ H.V] /Dest (introduction) cvn H.B /DEST pdfmark +end + 197 6 a 83 x +Fn(Intr)n(oduction)843 89 y +SDict begin H.S end + 843 89 a 843 89 a +SDict begin 14.641 H.A end + 843 89 +a 843 89 a +SDict begin [ /View [/XYZ H.V] /Dest (1.1.1) cvn H.B /DEST pdfmark +end + 843 89 a 197 146 a +SDict begin H.S end + 197 146 a 197 146 a +SDict begin 11 H.A end + 197 +146 a 197 146 a +SDict begin [ /View [/XYZ H.V] /Dest (36) cvn H.B /DEST pdfmark end + 197 146 a 596 236 a Fk(This)28 b(is)g(a)f(draft)g +(standar)o(d)f(for)h(a)g(desktop)h(noti\002cations)h(service,)e(thr)o +(ough)i(which)f(applica-)596 327 y(tions)33 b(can)f(generate)f(passive) +h(popups)g(\(sometimes)h(known)h(as)e("poptarts"\))f(to)i(notify)g(the) +596 418 y(user)20 b(in)h(an)g(asynchr)o(onous)h(manner)e(of)h(events.) +197 483 y +SDict begin H.S end + 197 483 a 197 483 a +SDict begin 11 H.A end + 197 483 a 197 483 a +SDict begin [ /View [/XYZ H.V] /Dest (37) cvn H.B /DEST pdfmark end + 197 +483 a 596 551 a Fk(This)i(speci\002cation)f(explicitly)h(does)g(not)g +(include)g(other)f(types)h(of)f(noti\002cation)i(pr)o(esentation)596 +642 y(such)d(as)g(modal)g(message)g(boxes,)g(window)h(manager)f +(decorations)g(or)g(window)i(list)e(annota-)596 734 y(tions.)197 +777 y +SDict begin H.S end + 197 777 a 197 777 a +SDict begin 11 H.A end + 197 777 a 197 777 a +SDict begin [ /View [/XYZ H.V] /Dest (38) cvn H.B /DEST pdfmark end + 197 777 +a 596 867 a Fk(Example)e(use)i(cases)g(include:)197 890 +y +SDict begin H.S end + 197 890 a 197 890 a +SDict begin 11 H.A end + 197 890 a 197 890 a +SDict begin [ /View [/XYZ H.V] /Dest (39) cvn H.B /DEST pdfmark end + 197 890 a 197 +932 a +SDict begin H.S end + 197 932 a 197 932 a +SDict begin 11 H.A end + 197 932 a 197 932 a +SDict begin [ /View [/XYZ H.V] /Dest (40) cvn H.B /DEST pdfmark end + 197 932 +a Black 596 1082 a Fj(\225)p Black 679 1082 a +SDict begin H.S end + 679 1082 +a 679 1082 a +SDict begin 11 H.A end + 679 1082 a 679 1082 a +SDict begin [ /View [/XYZ H.V] /Dest (41) cvn H.B /DEST pdfmark end + 679 1082 a Fk(Pr)o(esence)e(changes) +i(in)g(IM)f(pr)o(ograms:)g(for)g(instance,)h(MSN)f(Messenger)g(on)h(W) +-5 b(indows)22 b(pio-)679 1174 y(neer)o(ed)d(the)i(use)g(of)f(passive)h +(popups)g(to)g(indicate)f(pr)o(esence)g(changes.)197 +1197 y +SDict begin H.S end + 197 1197 a 197 1197 a +SDict begin 11 H.A end + 197 1197 a 197 1197 a +SDict begin [ /View [/XYZ H.V] /Dest (42) cvn H.B /DEST pdfmark end + 197 +1197 a Black 596 1307 a Fj(\225)p Black 679 1307 a +SDict begin H.S end + 679 +1307 a 679 1307 a +SDict begin 11 H.A end + 679 1307 a 679 1307 a +SDict begin [ /View [/XYZ H.V] /Dest (43) cvn H.B /DEST pdfmark end + 679 1307 a Fk(Scheduled)f +(alarm)197 1309 y +SDict begin H.S end + 197 1309 a 197 1309 a +SDict begin 11 H.A end + 197 1309 a 197 +1309 a +SDict begin [ /View [/XYZ H.V] /Dest (44) cvn H.B /DEST pdfmark end + 197 1309 a Black 596 1439 a Fj(\225)p Black 679 +1439 a +SDict begin H.S end + 679 1439 a 679 1439 a +SDict begin 11 H.A end + 679 1439 a 679 1439 a +SDict begin [ /View [/XYZ H.V] /Dest (45) cvn H.B /DEST pdfmark end + 679 +1439 a Fk(Completed)h(\002le)h(transfer)197 1463 y +SDict begin H.S end + 197 +1463 a 197 1463 a +SDict begin 11 H.A end + 197 1463 a 197 1463 a +SDict begin [ /View [/XYZ H.V] /Dest (46) cvn H.B /DEST pdfmark end + 197 1463 a Black +596 1572 a Fj(\225)p Black 679 1572 a +SDict begin H.S end + 679 1572 a 679 +1572 a +SDict begin 11 H.A end + 679 1572 a 679 1572 a +SDict begin [ /View [/XYZ H.V] /Dest (47) cvn H.B /DEST pdfmark end + 679 1572 a Fk(New)f(mail)h(noti\002cation) +197 1574 y +SDict begin H.S end + 197 1574 a 197 1574 a +SDict begin 11 H.A end + 197 1574 a 197 1574 +a +SDict begin [ /View [/XYZ H.V] /Dest (48) cvn H.B /DEST pdfmark end + 197 1574 a Black 596 1705 a Fj(\225)p Black 679 1705 +a +SDict begin H.S end + 679 1705 a 679 1705 a +SDict begin 11 H.A end + 679 1705 a 679 1705 a +SDict begin [ /View [/XYZ H.V] /Dest (49) cvn H.B /DEST pdfmark end + 679 1705 +a Fk(Low)g(disk)g(space/battery)e(warnings)197 1770 y +SDict begin H.S end + +197 1770 a 197 1770 a +SDict begin 11 H.A end + 197 1770 a 197 1770 a +SDict begin [ /View [/XYZ H.V] /Dest (basic-design) cvn H.B /DEST pdfmark +end + 197 1770 +a 264 x Fn(Basic)32 b(Design)892 2034 y +SDict begin H.S end + 892 2034 a 892 +2034 a +SDict begin 14.641 H.A end + 892 2034 a 892 2034 a +SDict begin [ /View [/XYZ H.V] /Dest (1.2.1) cvn H.B /DEST pdfmark +end + 892 2034 a 197 2114 a +SDict begin H.S end + 197 +2114 a 197 2114 a +SDict begin 11 H.A end + 197 2114 a 197 2114 a +SDict begin [ /View [/XYZ H.V] /Dest (52) cvn H.B /DEST pdfmark end + 197 2114 a 596 +2181 a Fk(In)f(or)o(der)e(to)i(ensur)o(e)f(that)h(multiple)g +(noti\002cations)i(can)d(easily)h(be)f(displayed)g(at)h(once,)f(and)596 +2272 y(to)d(pr)o(ovide)f(a)g(convenient)h(implementation,)h(all)f +(noti\002cations)h(ar)o(e)d(contr)o(olled)i(by)g(a)f(single)596 +2363 y(session-scoped)21 b(service)f(which)i(exposes)e(a)h(D-BUS)e +(interface.)197 2428 y +SDict begin H.S end + 197 2428 a 197 2428 a +SDict begin 11 H.A end + 197 2428 +a 197 2428 a +SDict begin [ /View [/XYZ H.V] /Dest (53) cvn H.B /DEST pdfmark end + 197 2428 a 596 2496 a Fk(On)159 b(startup,)f(a)g +(conforming)i(implementation)g(should)g(take)e(the)596 +2588 y +SDict begin H.S end + 596 2588 a 596 2588 a +SDict begin 11 H.A end + 596 2588 a 596 2588 a +SDict begin [ /View [/XYZ H.V] /Dest (54) cvn H.B /DEST pdfmark end + 596 +2588 a Fi(org.freedesktop.Notifications)39 b Fk(service)k(on)i(the)f +(session)i(bus.)e(This)h(service)e(will)596 2679 y(be)33 +b(r)o(eferr)o(ed)d(to)k(as)g(the)f("noti\002cation)i(server")e(or)g +(just)i("the)e(server")g(in)h(this)g(document.)g(It)596 +2770 y(can)e(optionally)i(be)e(activated)f(automatically)i(by)f(the)h +(bus)g(pr)o(ocess,)f(however)h(this)g(is)g(not)596 2862 +y(r)o(equir)o(ed)19 b(and)h(noti\002cation)i(server)e(clients)i(must)f +(not)g(assume)g(that)g(it)g(is)g(available.)197 2927 +y +SDict begin H.S end + 197 2927 a 197 2927 a +SDict begin 11 H.A end + 197 2927 a 197 2927 a +SDict begin [ /View [/XYZ H.V] /Dest (55) cvn H.B /DEST pdfmark end + 197 2927 +a 596 2994 a Fk(The)d(server)h(should)h(implement)f(the)1825 +2994 y +SDict begin H.S end + 1825 2994 a 1825 2994 a +SDict begin 11 H.A end + 1825 2994 a 1825 2994 +a +SDict begin [ /View [/XYZ H.V] /Dest (56) cvn H.B /DEST pdfmark end + 1825 2994 a Fi(org.freedesktop.Notifications)c Fk(interface)i(on)j +(an)596 3086 y(object)25 b(with)g(the)g(path)f("/or)o(g/fr)o +(eedesktop/Noti\002cations".)h(This)g(is)g(the)g(only)h(interface)d(r)o +(e-)596 3177 y(quir)o(ed)d(by)h(this)g(version)g(of)g(the)g +(speci\002cation.)197 3242 y +SDict begin H.S end + 197 3242 a 197 3242 a +SDict begin 11 H.A end + 197 +3242 a 197 3242 a +SDict begin [ /View [/XYZ H.V] /Dest (57) cvn H.B /DEST pdfmark end + 197 3242 a 596 3310 a Fk(A)f(noti\002cation)i(has)f +(the)g(following)h(components:)197 3333 y +SDict begin H.S end + 197 3333 a +197 3333 a +SDict begin 11 H.A end + 197 3333 a 197 3333 a +SDict begin [ /View [/XYZ H.V] /Dest (58) cvn H.B /DEST pdfmark end + 197 3333 a 197 3458 +a +SDict begin H.S end + 197 3458 a 197 3458 a +SDict begin 11 H.A end + 197 3458 a 197 3458 a +SDict begin [ /View [/XYZ H.V] /Dest (60) cvn H.B /DEST pdfmark end + 197 3458 +a 596 3526 a Fk(Application)e(Name)197 3549 y +SDict begin H.S end + 197 3549 +a 197 3549 a +SDict begin 11 H.A end + 197 3549 a 197 3549 a +SDict begin [ /View [/XYZ H.V] /Dest (61) cvn H.B /DEST pdfmark end + 197 3549 a Black Black +762 3659 a +SDict begin H.S end + 762 3659 a 762 3659 a +SDict begin 11 H.A end + 762 3659 a 762 3659 +a +SDict begin [ /View [/XYZ H.V] /Dest (62) cvn H.B /DEST pdfmark end + 762 3659 a Fk(Application)f(name:)h(This)h(is)f(the)g(optional)h +(name)f(of)g(the)g(application)g(sending)g(the)g(noti-)762 +3750 y(\002cation.)j(This)h(should)g(be)f(the)h(application's)g(formal) +f(name,)g(rather)g(than)g(some)h(sort)g(of)762 3841 y(ID.)197 +3925 y +SDict begin H.S end + 197 3925 a 197 3925 a +SDict begin 11 H.A end + 197 3925 a 197 3925 a +SDict begin [ /View [/XYZ H.V] /Dest (64) cvn H.B /DEST pdfmark end + 197 +3925 a 596 4016 a Fk(Application)c(Icon)197 4039 y +SDict begin H.S end + 197 +4039 a 197 4039 a +SDict begin 11 H.A end + 197 4039 a 197 4039 a +SDict begin [ /View [/XYZ H.V] /Dest (65) cvn H.B /DEST pdfmark end + 197 4039 a Black +Black 762 4148 a +SDict begin H.S end + 762 4148 a 762 4148 a +SDict begin 11 H.A end + 762 4148 a 762 +4148 a +SDict begin [ /View [/XYZ H.V] /Dest (66) cvn H.B /DEST pdfmark end + 762 4148 a Fk(An)g(optional)h(byte)f(array)g(containing)h(the)g +(application's)f(icon.)h(This)g(should)g(be)g(in)f(PNG)762 +4240 y(or)g(GIF)i(formats.)197 4325 y +SDict begin H.S end + 197 4325 a 197 +4325 a +SDict begin 11 H.A end + 197 4325 a 197 4325 a +SDict begin [ /View [/XYZ H.V] /Dest (68) cvn H.B /DEST pdfmark end + 197 4325 a 596 4414 a Fk(Application)e(ID) +197 4438 y +SDict begin H.S end + 197 4438 a 197 4438 a +SDict begin 11 H.A end + 197 4438 a 197 4438 +a +SDict begin [ /View [/XYZ H.V] /Dest (69) cvn H.B /DEST pdfmark end + 197 4438 a Black Black 762 4547 a +SDict begin H.S end + 762 4547 a 762 4547 +a +SDict begin 11 H.A end + 762 4547 a 762 4547 a +SDict begin [ /View [/XYZ H.V] /Dest (70) cvn H.B /DEST pdfmark end + 762 4547 a Fk(An)g(optional)h(byte)f(array)g +(containing)h(the)g(application's)f(icon.)h(This)g(should)g(be)g(in)f +(PNG)762 4638 y(or)g(GIF)i(formats.)197 4723 y +SDict begin H.S end + 197 4723 +a 197 4723 a +SDict begin 11 H.A end + 197 4723 a 197 4723 a +SDict begin [ /View [/XYZ H.V] /Dest (72) cvn H.B /DEST pdfmark end + 197 4723 a 596 4813 +a Fk(Replaces)e(ID)197 4836 y +SDict begin H.S end + 197 4836 a 197 4836 a +SDict begin 11 H.A end + 197 +4836 a 197 4836 a +SDict begin [ /View [/XYZ H.V] /Dest (73) cvn H.B /DEST pdfmark end + 197 4836 a Black Black 762 4945 a +SDict begin H.S end + 762 +4945 a 762 4945 a +SDict begin 11 H.A end + 762 4945 a 762 4945 a +SDict begin [ /View [/XYZ H.V] /Dest (74) cvn H.B /DEST pdfmark end + 762 4945 a Fk(An)32 +b(optional)g(ID)h(of)f(an)g(existing)g(noti\002cation)i(that)e(this)h +(noti\002cation)g(is)g(intended)f(to)762 5037 y(r)o(eplace.)197 +5143 y +SDict begin H.S end + 197 5143 a 197 5143 a +SDict begin 11 H.A end + 197 5143 a 197 5143 a +SDict begin [ /View [/XYZ H.V] /Dest (76) cvn H.B /DEST pdfmark end + 197 +5143 a 596 5211 a Fk(Noti\002cation)21 b(T)-7 b(ype)20 +b(ID)197 5235 y +SDict begin H.S end + 197 5235 a 197 5235 a +SDict begin 11 H.A end + 197 5235 a 197 +5235 a +SDict begin [ /View [/XYZ H.V] /Dest (77) cvn H.B /DEST pdfmark end + 197 5235 a Black Black 762 5344 a +SDict begin H.S end + 762 5344 a 762 +5344 a +SDict begin 11 H.A end + 762 5344 a 762 5344 a +SDict begin [ /View [/XYZ H.V] /Dest (78) cvn H.B /DEST pdfmark end + 762 5344 a Fk(An)g(optional)i(ID)f(r)o +(epr)o(esenting)f(the)g(noti\002cation)j(type.)d(See)p +0 TeXcolorgray 2740 5344 a +SDict begin H.S end + 2740 5344 a Fk(Noti\002cation)i(T)-7 +b(ypes)3415 5344 y +SDict begin 11 H.L end + 3415 5344 a 3415 5344 a +SDict begin [ /Subtype /Link /Dest (notification-types) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3415 5344 +a Black -1 w Fk(.)p Black 197 5585 a +SDict begin H.S end + 197 5585 a 197 5585 +a +SDict begin 11 H.A end + 197 5585 a 197 5585 a +SDict begin [ /View [/XYZ H.V] /Dest (86) cvn H.B /DEST pdfmark end + 197 5585 a 3642 5655 a Fh(3)p +Black eop end +%%Page: 4 4 +TeXDict begin 4 3 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black 0 +TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 TeXcolorgray +197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark +end + 197 -102 a Black -30 +x Fh(Desktop)20 b(Noti\002cations)f(Speci\002cation)p +Black 197 6 a +SDict begin H.S end + 197 6 a 197 6 a +SDict begin 11 H.A end + 197 6 a 197 6 a +SDict begin [ /View [/XYZ H.V] /Dest (81) cvn H.B /DEST pdfmark end + 197 6 a +596 89 a Fk(Ur)o(gency)g(Level)197 112 y +SDict begin H.S end + 197 112 a 197 +112 a +SDict begin 11 H.A end + 197 112 a 197 112 a +SDict begin [ /View [/XYZ H.V] /Dest (82) cvn H.B /DEST pdfmark end + 197 112 a Black Black 762 222 +a +SDict begin H.S end + 762 222 a 762 222 a +SDict begin 11 H.A end + 762 222 a 762 222 a +SDict begin [ /View [/XYZ H.V] /Dest (83) cvn H.B /DEST pdfmark end + 762 222 a Fk(The)h(ur)o +(gency)h(of)f(the)h(noti\002cation.)h(See)p 0 TeXcolorgray +2074 222 a +SDict begin H.S end + 2074 222 a Fk(Ur)o(gency)e(Levels)2645 222 +y +SDict begin 11 H.L end + 2645 222 a 2645 222 a +SDict begin [ /Subtype /Link /Dest (urgency-levels) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 2645 222 a Black -1 w Fk(.)596 +396 y(Summary)197 420 y +SDict begin H.S end + 197 420 a 197 420 a +SDict begin 11 H.A end + 197 420 a +197 420 a +SDict begin [ /View [/XYZ H.V] /Dest (87) cvn H.B /DEST pdfmark end + 197 420 a Black Black 762 529 a +SDict begin H.S end + 762 529 a 762 +529 a +SDict begin 11 H.A end + 762 529 a 762 529 a +SDict begin [ /View [/XYZ H.V] /Dest (88) cvn H.B /DEST pdfmark end + 762 529 a Fk(This)f(is)h(a)e(single)i(line)g +(overview)f(of)g(the)g(noti\002cation.)i(For)e(instance,)g("Y)-8 +b(ou)20 b(have)f(mail")g(or)762 620 y("A)g(friend)h(has)h(come)f +(online".)h(It)g(should)g(generally)f(not)h(be)f(longer)h(than)g(40)e +(characters,)762 712 y(though)g(this)f(is)g(not)h(a)e(r)o(equir)o +(ement,)g(and)g(server)g(implementations)j(should)e(wor)o(d)f(wrap)762 +803 y(if)j(necessary)-9 b(.)20 b(The)h(summary)g(must)g(be)g(encoded)f +(using)i(UTF-8.)197 910 y +SDict begin H.S end + 197 910 a 197 910 a +SDict begin 11 H.A end + 197 910 +a 197 910 a +SDict begin [ /View [/XYZ H.V] /Dest (90) cvn H.B /DEST pdfmark end + 197 910 a 596 977 a Fk(Body)197 1001 y +SDict begin H.S end + 197 +1001 a 197 1001 a +SDict begin 11 H.A end + 197 1001 a 197 1001 a +SDict begin [ /View [/XYZ H.V] /Dest (91) cvn H.B /DEST pdfmark end + 197 1001 a Black +Black 762 1110 a +SDict begin H.S end + 762 1110 a 762 1110 a +SDict begin 11 H.A end + 762 1110 a 762 +1110 a +SDict begin [ /View [/XYZ H.V] /Dest (92) cvn H.B /DEST pdfmark end + 762 1110 a Fk(This)17 b(is)f(a)g(multi-line)h(body)g(of)f(text.) +g(Each)g(line)h(is)g(a)e(paragraph,)g(server)h(implementations)762 +1202 y(ar)o(e)j(fr)o(ee)g(to)i(wor)o(d)g(wrap)f(them)h(as)g(they)g(see) +f(\002t.)197 1267 y +SDict begin H.S end + 197 1267 a 197 1267 a +SDict begin 11 H.A end + 197 1267 a +197 1267 a +SDict begin [ /View [/XYZ H.V] /Dest (93) cvn H.B /DEST pdfmark end + 197 1267 a 762 1334 a Fk(The)e(text)g(may)h(contain)g +(simple)g(markup)f(as)g(speci\002ed)g(in)p 0 TeXcolorgray +2652 1334 a +SDict begin H.S end + 2652 1334 a Fk(Markup)2952 1334 y +SDict begin 11 H.L end + 2952 1334 +a 2952 1334 a +SDict begin [ /Subtype /Link /Dest (markup) cvn /H /I /Border [0 0 +0] /Color [1 0 0] H.B /ANN pdfmark end + 2952 1334 a Black -1 w Fk(.)h(It)f(must)h(be)f(encoded) +762 1426 y(using)j(UTF-8.)197 1491 y +SDict begin H.S end + 197 1491 a 197 1491 +a +SDict begin 11 H.A end + 197 1491 a 197 1491 a +SDict begin [ /View [/XYZ H.V] /Dest (95) cvn H.B /DEST pdfmark end + 197 1491 a 762 1559 a Fk(If)f(the)h(body)g(is)g +(omitted)g(just)h(the)e(summary)i(is)f(displayed.)197 +1774 y +SDict begin H.S end + 197 1774 a 197 1774 a +SDict begin 11 H.A end + 197 1774 a 197 1774 a +SDict begin [ /View [/XYZ H.V] /Dest (97) cvn H.B /DEST pdfmark end + 197 +1774 a 596 1866 a Fk(Images)197 1889 y +SDict begin H.S end + 197 1889 a 197 +1889 a +SDict begin 11 H.A end + 197 1889 a 197 1889 a +SDict begin [ /View [/XYZ H.V] /Dest (98) cvn H.B /DEST pdfmark end + 197 1889 a Black Black 762 +1999 a +SDict begin H.S end + 762 1999 a 762 1999 a +SDict begin 11 H.A end + 762 1999 a 762 1999 a +SDict begin [ /View [/XYZ H.V] /Dest (99) cvn H.B /DEST pdfmark end + 762 +1999 a Fk(See)p 0 TeXcolorgray 905 1999 a +SDict begin H.S end + 905 1999 a +Fk(Icons)h(and)e(Sounds)1554 1999 y +SDict begin 11 H.L end + 1554 1999 a 1554 +1999 a +SDict begin [ /Subtype /Link /Dest (icons-sounds) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1554 1999 a Black Fk(.)197 2083 y +SDict begin H.S end + 197 2083 a 197 +2083 a +SDict begin 11 H.A end + 197 2083 a 197 2083 a +SDict begin [ /View [/XYZ H.V] /Dest (102) cvn H.B /DEST pdfmark end + 197 2083 a 596 2173 a Fk(Sounds)197 +2175 y +SDict begin H.S end + 197 2175 a 197 2175 a +SDict begin 11 H.A end + 197 2175 a 197 2175 a +SDict begin [ /View [/XYZ H.V] /Dest (103) cvn H.B /DEST pdfmark end + 197 +2175 a Black Black 762 2306 a +SDict begin H.S end + 762 2306 a 762 2306 a +SDict begin 11 H.A end + 762 +2306 a 762 2306 a +SDict begin [ /View [/XYZ H.V] /Dest (104) cvn H.B /DEST pdfmark end + 762 2306 a Fk(See)p 0 TeXcolorgray +905 2306 a +SDict begin H.S end + 905 2306 a Fk(Icons)i(and)e(Sounds)1554 2306 +y +SDict begin 11 H.L end + 1554 2306 a 1554 2306 a +SDict begin [ /Subtype /Link /Dest (icons-sounds) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1554 2306 a Black Fk(.)197 +2391 y +SDict begin H.S end + 197 2391 a 197 2391 a +SDict begin 11 H.A end + 197 2391 a 197 2391 a +SDict begin [ /View [/XYZ H.V] /Dest (107) cvn H.B /DEST pdfmark end + 197 +2391 a 596 2480 a Fk(Actions)197 2482 y +SDict begin H.S end + 197 2482 a 197 +2482 a +SDict begin 11 H.A end + 197 2482 a 197 2482 a +SDict begin [ /View [/XYZ H.V] /Dest (108) cvn H.B /DEST pdfmark end + 197 2482 a Black Black 762 +2613 a +SDict begin H.S end + 762 2613 a 762 2613 a +SDict begin 11 H.A end + 762 2613 a 762 2613 a +SDict begin [ /View [/XYZ H.V] /Dest (109) cvn H.B /DEST pdfmark end + 762 +2613 a Fk(The)e(actions)h(send)g(a)f(r)o(equest)h(message)f(back)g(to)i +(the)e(noti\002cation)i(client)f(when)h(invoked.)762 +2704 y(This)j(functionality)h(may)f(not)h(be)f(implemented)g(by)g(the)g +(noti\002cation)i(server)-6 b(,)22 b(conform-)762 2796 +y(ing)i(clients)g(should)g(check)g(if)f(it)h(is)f(available)g(befor)o +(e)f(using)i(it)g(\(see)f(the)g(GetCapabilities)762 2887 +y(message)i(in)p 0 TeXcolorgray 1196 2887 a +SDict begin H.S end + 1196 2887 +a Fk(Pr)o(otocol)1501 2887 y +SDict begin 11 H.L end + 1501 2887 a 1501 2887 a +SDict begin [ /Subtype /Link /Dest (protocol) cvn /H /I /Border [0 +0 0] /Color [1 0 0] H.B /ANN pdfmark end + +1501 2887 a Black Fk(.)g(An)h(implementation)g(is)g(fr)o(ee)e(to)i +(ignor)o(e)f(any)h(r)o(equested)e(by)i(the)762 2978 y(client.)e(As)h +(an)f(example)g(one)i(possible)f(r)o(endering)f(of)h(actions)g(would)g +(be)f(as)h(buttons)g(in)762 3070 y(the)20 b(noti\002cation)j(popup.)197 +3176 y +SDict begin H.S end + 197 3176 a 197 3176 a +SDict begin 11 H.A end + 197 3176 a 197 3176 a +SDict begin [ /View [/XYZ H.V] /Dest (112) cvn H.B /DEST pdfmark end + 197 +3176 a 596 3244 a Fk(Hints)197 3246 y +SDict begin H.S end + 197 3246 a 197 +3246 a +SDict begin 11 H.A end + 197 3246 a 197 3246 a +SDict begin [ /View [/XYZ H.V] /Dest (113) cvn H.B /DEST pdfmark end + 197 3246 a Black Black 762 +3377 a +SDict begin H.S end + 762 3377 a 762 3377 a +SDict begin 11 H.A end + 762 3377 a 762 3377 a +SDict begin [ /View [/XYZ H.V] /Dest (114) cvn H.B /DEST pdfmark end + 762 +3377 a Fk(See)p 0 TeXcolorgray 905 3377 a +SDict begin H.S end + 905 3377 a +Fk(Hints)1108 3377 y +SDict begin 11 H.L end + 1108 3377 a 1108 3377 a +SDict begin [ /Subtype /Link /Dest (hints) cvn /H /I /Border [0 0 0] +/Color [1 0 0] H.B /ANN pdfmark end + 1108 3377 +a Black 1 w Fk(.)197 3462 y +SDict begin H.S end + 197 3462 a 197 3462 a +SDict begin 11 H.A end + 197 +3462 a 197 3462 a +SDict begin [ /View [/XYZ H.V] /Dest (117) cvn H.B /DEST pdfmark end + 197 3462 a 596 3551 a Fk(Expiration)d(T)-5 +b(ime)197 3575 y +SDict begin H.S end + 197 3575 a 197 3575 a +SDict begin 11 H.A end + 197 3575 a 197 +3575 a +SDict begin [ /View [/XYZ H.V] /Dest (118) cvn H.B /DEST pdfmark end + 197 3575 a Black Black 762 3684 a +SDict begin H.S end + 762 3684 a 762 +3684 a +SDict begin 11 H.A end + 762 3684 a 762 3684 a +SDict begin [ /View [/XYZ H.V] /Dest (119) cvn H.B /DEST pdfmark end + 762 3684 a Fk(The)20 b(timestamp)i(in)f +(seconds)g(since)h(the)f(epoch)g(that)g(the)g(noti\002cation)h(should)g +(close.)f(For)762 3775 y(example,)h(if)i(one)g(wishes)h(to)f(have)f(an) +h(expiration)f(of)h(5)f(seconds)h(fr)o(om)g(now)-8 b(,)24 +b(they)g(must)762 3867 y(grab)c(the)h(curr)o(ent)f(timestamp)h(and)f +(add)g(5)g(seconds)h(to)g(it.)197 3932 y +SDict begin H.S end + 197 3932 a 197 +3932 a +SDict begin 11 H.A end + 197 3932 a 197 3932 a +SDict begin [ /View [/XYZ H.V] /Dest (120) cvn H.B /DEST pdfmark end + 197 3932 a 762 3999 a Fk(If)16 +b(zer)o(o,)f(the)i(noti\002cation's)h(expiration)f(time)g(is)g +(dependent)f(on)h(the)g(noti\002cation)h(server)6 b('s)762 +4091 y(settings,)21 b(and)f(may)h(vary)f(for)h(the)g(type)f(of)h +(noti\002cation.)197 4156 y +SDict begin H.S end + 197 4156 a 197 4156 a +SDict begin 11 H.A end + 197 +4156 a 197 4156 a +SDict begin [ /View [/XYZ H.V] /Dest (121) cvn H.B /DEST pdfmark end + 197 4156 a 762 4224 a Fk(The)i(expiration)g(time)h +(should)h(be)e(r)o(espected)f(by)h(implementations,)i(but)f(this)g(is)g +(not)g(r)o(e-)762 4315 y(quir)o(ed)c(\(this)h(is)g(for)g(compatibility) +g(with)h(KNotify\).)197 4489 y +SDict begin H.S end + 197 4489 a 197 4489 a +SDict begin 11 H.A end + +197 4489 a 197 4489 a +SDict begin [ /View [/XYZ H.V] /Dest (122) cvn H.B /DEST pdfmark end + 197 4489 a 596 4581 a Fk(Each)31 +b(noti\002cation)j(displayed)e(is)h(allocated)e(a)h(unique)h(ID)g(by)f +(the)h(server)-6 b(.)31 b(This)i(is)g(unique)596 4672 +y(within)17 b(the)g(session.)g(While)g(the)f(noti\002cation)i(server)e +(is)g(r)o(unning,)i(the)e(ID)h(will)g(not)g(be)f(r)o(ecycled)596 +4763 y(unless)21 b(the)g(capacity)f(of)g(a)h(uint32)f(is)h(exceeded.) +197 4828 y +SDict begin H.S end + 197 4828 a 197 4828 a +SDict begin 11 H.A end + 197 4828 a 197 4828 +a +SDict begin [ /View [/XYZ H.V] /Dest (123) cvn H.B /DEST pdfmark end + 197 4828 a 596 4896 a Fk(This)i(can)f(be)g(used)g(to)h(hide)g(the)f +(noti\002cation)i(befor)o(e)d(the)i(expiration)f(time)h(is)g(r)o +(eached.)e(It)h(can)596 4987 y(also)27 b(be)f(used)h(to)g(atomically)g +(r)o(eplace)e(the)i(noti\002cation)h(with)g(another)-6 +b(.)26 b(This)i(allows)f(you)h(to)596 5079 y(\(for)20 +b(instance\))g(modify)h(the)g(contents)h(of)f(a)f(noti\002cation)i +(while)f(it's)h(on-scr)o(een.)197 5144 y +SDict begin H.S end + 197 5144 a 197 +5144 a +SDict begin 11 H.A end + 197 5144 a 197 5144 a +SDict begin [ /View [/XYZ H.V] /Dest (backwards-compat) cvn H.B /DEST +pdfmark end + 197 5144 a Black 441 x Fh(4)p +Black eop end +%%Page: 5 5 +TeXDict begin 5 4 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black 0 +TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 TeXcolorgray +197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark +end + 197 -102 a Black 2513 +-132 a Fh(Desktop)19 b(Noti\002cations)h(Speci\002cation)p +Black 197 89 a Fn(Bac)n(kwar)n(ds)32 b(Compatibility)1509 +89 y +SDict begin H.S end + 1509 89 a 1509 89 a +SDict begin 14.641 H.A end + 1509 89 a 1509 89 a +SDict begin [ /View [/XYZ H.V] /Dest (1.3.1) cvn H.B /DEST pdfmark +end + 1509 89 +a 197 167 a +SDict begin H.S end + 197 167 a 197 167 a +SDict begin 11 H.A end + 197 167 a 197 167 a +SDict begin [ /View [/XYZ H.V] /Dest (126) cvn H.B /DEST pdfmark end + 197 +167 a 596 236 a Fk(Clients)24 b(should)h(try)f(and)g(avoid)g(making)h +(assumptions)g(about)f(the)h(pr)o(esentation)f(and)f(abili-)596 +327 y(ties)d(of)h(the)g(noti\002cation)h(server)-6 b(.)20 +b(The)h(message)f(content)i(is)f(the)g(most)g(important)h(thing.)197 +392 y +SDict begin H.S end + 197 392 a 197 392 a +SDict begin 11 H.A end + 197 392 a 197 392 a +SDict begin [ /View [/XYZ H.V] /Dest (127) cvn H.B /DEST pdfmark end + 197 392 +a 596 460 a Fk(Clients)k(can)g(check)g(with)h(the)f(server)g(what)g +(capabilities)g(ar)o(e)e(supported)i(using)h(the)g(GetCa-)596 +551 y(pabilities)20 b(message.)h(See)p 0 TeXcolorgray +1449 551 a +SDict begin H.S end + 1449 551 a Fk(Pr)o(otocol)1754 551 y +SDict begin 11 H.L end + 1754 +551 a 1754 551 a +SDict begin [ /Subtype /Link /Dest (protocol) cvn /H /I /Border [0 +0 0] /Color [1 0 0] H.B /ANN pdfmark end + 1754 551 a Black Fk(.)197 616 y +SDict begin H.S end + 197 +616 a 197 616 a +SDict begin 11 H.A end + 197 616 a 197 616 a +SDict begin [ /View [/XYZ H.V] /Dest (129) cvn H.B /DEST pdfmark end + 197 616 a 596 684 +a Fk(If)29 b(a)f(client)i(r)o(equir)o(es)f(a)f(r)o(esponse)i(fr)o(om)e +(a)h(passive)g(popup,)h(it)f(should)h(be)f(coded)g(such)h(that)596 +775 y(a)25 b(non-focus-stealing)h(message)g(box)f(can)h(be)f(used)g +(instead)h(and)f(the)h(noti\002cation)h(server)e(is)596 +867 y(only)c(used)g(when)g(available.)197 932 y +SDict begin H.S end + 197 932 +a 197 932 a +SDict begin 11 H.A end + 197 932 a 197 932 a +SDict begin [ /View [/XYZ H.V] /Dest (markup) cvn H.B /DEST pdfmark +end + 197 932 a 264 x Fn(Markup)590 +1196 y +SDict begin H.S end + 590 1196 a 590 1196 a +SDict begin 14.641 H.A end + 590 1196 a 590 1196 a +SDict begin [ /View [/XYZ H.V] /Dest (1.4.1) cvn H.B /DEST pdfmark +end + 590 +1196 a 197 1274 a +SDict begin H.S end + 197 1274 a 197 1274 a +SDict begin 11 H.A end + 197 1274 a 197 +1274 a +SDict begin [ /View [/XYZ H.V] /Dest (132) cvn H.B /DEST pdfmark end + 197 1274 a 596 1342 a Fk(Body)k(text)g(may)h(contain)g(markup.)f +(The)h(markup)f(is)h(XML-based,)e(and)h(consists)i(of)e(a)h(small)596 +1434 y(subset)20 b(of)h(HTML)f(along)h(with)h(a)e(few)h(additional)f +(tags.)197 1499 y +SDict begin H.S end + 197 1499 a 197 1499 a +SDict begin 11 H.A end + 197 1499 a 197 +1499 a +SDict begin [ /View [/XYZ H.V] /Dest (133) cvn H.B /DEST pdfmark end + 197 1499 a 596 1566 a Fk(The)25 b(following)j(tags)d(should)i +(be)e(supported)h(by)g(the)f(noti\002cation)j(server)-6 +b(.)24 b(Though)j(it)f(is)g(op-)596 1658 y(tional,)21 +b(it)g(is)g(r)o(ecommended.)f(Noti\002cation)i(servers)e(that)h(do)g +(not)g(support)g(these)g(tags)g(should)596 1749 y(\002lter)f(them)h +(out.)197 1751 y +SDict begin H.S end + 197 1751 a 197 1751 a +SDict begin 11 H.A end + 197 1751 a 197 +1751 a +SDict begin [ /View [/XYZ H.V] /Dest (134) cvn H.B /DEST pdfmark end + 197 1751 a 197 1875 a +SDict begin H.S end + 197 1875 a 197 1875 a +SDict begin 11 H.A end + 197 +1875 a 197 1875 a +SDict begin [ /View [/XYZ H.V] /Dest (135) cvn H.B /DEST pdfmark end + 197 1875 a 197 1875 a +SDict begin H.S end + 197 1875 a 197 +1875 a +SDict begin 11 H.A end + 197 1875 a 197 1875 a +SDict begin [ /View [/XYZ H.V] /Dest (table.1) cvn H.B /DEST pdfmark +end + 197 1875 a 596 1878 3099 +4 v 596 1878 V 596 2006 4 128 v 644 1982 a Fi()g Fk(...)f +Fi()p 2143 2006 V 1108 w Fk(Bold)p 3691 2006 V 596 +2010 3099 4 v 596 2010 V 596 2137 4 128 v 644 2113 a +Fi()h Fk(...)f Fi()p 2143 2137 V 1108 w Fk(Italic)p +3691 2137 V 596 2141 3099 4 v 596 2141 V 596 2268 4 128 +v 644 2244 a Fi()h Fk(...)f Fi()p 2143 2268 V +1108 w Fk(Underline)p 3691 2268 V 596 2272 3099 4 v 596 +2272 V 596 2399 4 128 v 644 2375 a Fi()19 +b Fk(...)h Fi()p 2143 2399 V 615 w Fk(Hyperlink)p +3691 2399 V 596 2403 3099 4 v 596 2403 V 197 2486 a +SDict begin H.S end + 197 +2486 a 197 2486 a +SDict begin 11 H.A end + 197 2486 a 197 2486 a +SDict begin [ /View [/XYZ H.V] /Dest (157) cvn H.B /DEST pdfmark end + 197 2486 a 197 +2569 a +SDict begin H.S end + 197 2569 a 197 2569 a +SDict begin 11 H.A end + 197 2569 a 197 2569 a +SDict begin [ /View [/XYZ H.V] /Dest (158) cvn H.B /DEST pdfmark end + 197 +2569 a Black 114 2660 a Fg(*)p Black 73 w(What)e(else)h(do)g(we)g(want) +f(her)o(e?)h(W)o(e'r)o(e)f(going)h(to)f(want)h(mor)o(e)f(tags)h(for)g +(sur)o(e.)197 2722 y +SDict begin H.S end + 197 2722 a 197 2722 a +SDict begin 11 H.A end + 197 2722 a +197 2722 a +SDict begin [ /View [/XYZ H.V] /Dest (icons-sounds) cvn H.B /DEST pdfmark +end + 197 2722 a 267 x Fn(Icons)30 b(and)h(Sounds)1151 +2989 y +SDict begin H.S end + 1151 2989 a 1151 2989 a +SDict begin 14.641 H.A end + 1151 2989 a 1151 2989 +a +SDict begin [ /View [/XYZ H.V] /Dest (1.5.1) cvn H.B /DEST pdfmark +end + 1151 2989 a 197 3046 a +SDict begin H.S end + 197 3046 a 197 3046 a +SDict begin 11 H.A end + 197 3046 +a 197 3046 a +SDict begin [ /View [/XYZ H.V] /Dest (161) cvn H.B /DEST pdfmark end + 197 3046 a 596 3136 a Fk(A)22 b(noti\002cation)i(can)e +(optionally)h(include)g(an)f(array)g(of)g(images)h(and/or)g(a)f(single) +h(sound.)g(The)596 3227 y(array)30 b(of)h(images)h(speci\002es)g +(frames)f(in)h(an)f(animation,)h(animations)h(always)e(loop.)h(Imple-) +596 3318 y(mentations)24 b(ar)o(e)f(fr)o(ee)f(to)j(ignor)o(e)f(the)g +(images)g(and)f(sound)i(data,)d(and)i(implementations)h(that)596 +3410 y(support)c(images)f(need)h(not)g(support)g(animation.)197 +3475 y +SDict begin H.S end + 197 3475 a 197 3475 a +SDict begin 11 H.A end + 197 3475 a 197 3475 a +SDict begin [ /View [/XYZ H.V] /Dest (162) cvn H.B /DEST pdfmark end + 197 +3475 a 596 3543 a Fk(If)f(the)h(image)g(array)f(has)h(mor)o(e)f(than)h +(one)h(element,)e(a)h("primary)f(frame")g(can)g(be)h(speci\002ed)g(-)f +(if)596 3634 y(not)k(speci\002ed)f(it)h(defaults)f(to)h(the)g(\002rst)g +(frame.)f(For)h(implementations)h(that)f(support)g(images)596 +3725 y(but)k(not)h(animation)h(\(for)e(instance)g(a)1860 +3725 y +SDict begin H.S end + 1860 3725 a 1860 3725 a +SDict begin 11 H.A end + 1860 3725 a 1860 3725 +a +SDict begin [ /View [/XYZ H.V] /Dest (163) cvn H.B /DEST pdfmark end + 1860 3725 a Fi(KNotify)g Fk(bridge\),)f(only)j(the)e(primary)g(frame) +g(will)h(be)596 3817 y(used.)197 3860 y +SDict begin H.S end + 197 3860 a 197 +3860 a +SDict begin 11 H.A end + 197 3860 a 197 3860 a +SDict begin [ /View [/XYZ H.V] /Dest (164) cvn H.B /DEST pdfmark end + 197 3860 a 596 3949 a Fk(Each)23 +b(element)h(of)g(the)g(array)f(must)h(have)g(the)g(same)g(type)f(as)h +(the)g(\002rst)g(element,)g(mixtur)o(es)g(of)596 4041 +y(strings)d(and)f(blobs)i(ar)o(e)d(not)j(allowed.)e(The)h(element)g +(types)f(can)h(be)f(one)h(of)g(the)g(following:)197 4064 +y +SDict begin H.S end + 197 4064 a 197 4064 a +SDict begin 11 H.A end + 197 4064 a 197 4064 a +SDict begin [ /View [/XYZ H.V] /Dest (165) cvn H.B /DEST pdfmark end + 197 4064 +a 197 4189 a +SDict begin H.S end + 197 4189 a 197 4189 a +SDict begin 11 H.A end + 197 4189 a 197 4189 +a +SDict begin [ /View [/XYZ H.V] /Dest (166) cvn H.B /DEST pdfmark end + 197 4189 a 197 4189 a +SDict begin H.S end + 197 4189 a 197 4189 a +SDict begin 11 H.A end + 197 4189 +a 197 4189 a +SDict begin [ /View [/XYZ H.V] /Dest (table.2) cvn H.B /DEST pdfmark +end + 197 4189 a 596 4192 3102 4 v 596 4192 V +596 4320 4 128 v 624 4295 a Ff(Element)p 1628 4320 V +710 w(T)-5 b(ype)p 2661 4320 V 843 w(Description)p 3694 +4320 V 596 4323 3102 4 v 596 4323 V 596 5364 4 1041 v +624 4426 a Fk(Icon)21 b(Theme)g(Name)p 1628 5364 V 357 +w(String)p 2661 5364 V 831 w(Any)g(string)g(that)g(does)g(not)2689 +4517 y(begin)g(with)h(the)f Fi(/)f Fk(character)2689 +4608 y(is)h(assumed)g(to)g(be)g(an)f(icon)2689 4700 y(theme)h(name)g +(and)f(is)h(looked)2689 4791 y(up)g(accor)o(ding)f(to)h(the)g(spec.) +2689 4882 y(The)g(best)g(size)f(to)h(\002t)g(the)2689 +4974 y(servers)g(chosen)2689 5065 y(pr)o(esentation)g(will)g(be)g +(used.)2689 5156 y(This)h(is)f(the)g(r)o(ecommended)2689 +5248 y(way)g(of)g(specifying)g(images.)p 3694 5364 V +596 5367 3102 4 v Black 3642 5585 a Fh(5)p Black eop +end +%%Page: 6 6 +TeXDict begin 6 5 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black 0 +TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 TeXcolorgray +197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark +end + 197 -102 a Black -30 +x Fh(Desktop)20 b(Noti\002cations)f(Speci\002cation)p +Black 596 9 3102 4 v 596 9 V 596 137 4 128 v 624 112 +a Ff(Element)p 1628 137 V 710 w(T)-5 b(ype)p 2661 137 +V 843 w(Description)p 3694 137 V 596 137 3102 4 v 596 +813 4 676 v 624 240 a Fk(Absolute)21 b(Path)p 1628 813 +V 513 w(String)p 2661 813 V 831 w(Any)g(string)g(that)g(begins)2689 +331 y(with)h(a)e Fi(/)h Fk(will)g(be)g(used)f(as)h(an)2689 +422 y(absolute)g(\002le)g(path.)2689 514 y(Implementations)h(should) +2689 605 y(support)f(at)g(minimum)h(\002les)2689 696 +y(of)f(type)g(image/png)g(and)2689 788 y(image/svg.)p +3694 813 V 596 816 3102 4 v 596 816 V 596 1218 4 402 +v 624 919 a(Image)f(Data)p 1628 1218 V 609 w(Binary)g(Data)p +2661 1218 V 614 w(A)g(data)g(str)o(eam)g(may)h(be)2689 +1010 y(embedded)f(in)h(the)g(message.)2689 1101 y(This)h(is)f(assumed)f +(to)h(be)g(of)2689 1193 y(type)g(image/png.)p 3694 1218 +V 596 1221 3102 4 v 596 1221 V 197 1304 a +SDict begin H.S end + 197 1304 a +197 1304 a +SDict begin 11 H.A end + 197 1304 a 197 1304 a +SDict begin [ /View [/XYZ H.V] /Dest (187) cvn H.B /DEST pdfmark end + 197 1304 a 596 1370 +a Fk(A)31 b(sound)i(can)e(be)h(speci\002ed,)f(this)i(will)f(be)g +(played)f(by)h(the)g(noti\002cation)h(server)e(when)i(the)596 +1462 y(noti\002cation)22 b(is)f(displayed.)197 1568 y +SDict begin H.S end + +197 1568 a 197 1568 a +SDict begin 11 H.A end + 197 1568 a 197 1568 a +SDict begin [ /View [/XYZ H.V] /Dest (188) cvn H.B /DEST pdfmark end + 197 1568 +a Black 114 1636 a Fg(*)p Black 54 w(Elaborate)d(her)o(e!)197 +1678 y +SDict begin H.S end + 197 1678 a 197 1678 a +SDict begin 11 H.A end + 197 1678 a 197 1678 a +SDict begin [ /View [/XYZ H.V] /Dest (notification-types) cvn H.B /DEST +pdfmark end + 197 +1678 a 287 x Fn(Noti\002cation)28 b(T)-7 b(ypes)1147 +1965 y +SDict begin H.S end + 1147 1965 a 1147 1965 a +SDict begin 14.641 H.A end + 1147 1965 a 1147 1965 +a +SDict begin [ /View [/XYZ H.V] /Dest (1.6.1) cvn H.B /DEST pdfmark +end + 1147 1965 a 197 2043 a +SDict begin H.S end + 197 2043 a 197 2043 a +SDict begin 11 H.A end + 197 2043 +a 197 2043 a +SDict begin [ /View [/XYZ H.V] /Dest (191) cvn H.B /DEST pdfmark end + 197 2043 a 197 2099 a +SDict begin H.S end + 197 2099 a 197 2099 +a +SDict begin 11 H.A end + 197 2099 a 197 2099 a +SDict begin [ /View [/XYZ H.V] /Dest (192) cvn H.B /DEST pdfmark end + 197 2099 a Black 114 2167 a Fg(*)p +Black 54 w(W)o(rite)18 b(me!)197 2209 y +SDict begin H.S end + 197 2209 a 197 +2209 a +SDict begin 11 H.A end + 197 2209 a 197 2209 a +SDict begin [ /View [/XYZ H.V] /Dest (urgency-levels) cvn H.B /DEST +pdfmark end + 197 2209 a 287 x Fn(Ur)n(g)q(enc)o(y)31 +b(Le)n(vels)1009 2496 y +SDict begin H.S end + 1009 2496 a 1009 2496 a +SDict begin 14.641 H.A end + 1009 +2496 a 1009 2496 a +SDict begin [ /View [/XYZ H.V] /Dest (1.7.1) cvn H.B /DEST pdfmark +end + 1009 2496 a 197 2576 a +SDict begin H.S end + 197 2576 a +197 2576 a +SDict begin 11 H.A end + 197 2576 a 197 2576 a +SDict begin [ /View [/XYZ H.V] /Dest (195) cvn H.B /DEST pdfmark end + 197 2576 a 197 2631 +a +SDict begin H.S end + 197 2631 a 197 2631 a +SDict begin 11 H.A end + 197 2631 a 197 2631 a +SDict begin [ /View [/XYZ H.V] /Dest (196) cvn H.B /DEST pdfmark end + 197 2631 +a Black 114 2698 a Fg(*)p Black 54 w(W)o(rite)18 b(me!)197 +2740 y +SDict begin H.S end + 197 2740 a 197 2740 a +SDict begin 11 H.A end + 197 2740 a 197 2740 a +SDict begin [ /View [/XYZ H.V] /Dest (hints) cvn H.B /DEST pdfmark +end + 197 +2740 a 287 x Fn(Hints)474 3027 y +SDict begin H.S end + 474 3027 a 474 3027 +a +SDict begin 14.641 H.A end + 474 3027 a 474 3027 a +SDict begin [ /View [/XYZ H.V] /Dest (1.8.1) cvn H.B /DEST pdfmark +end + 474 3027 a 197 3084 a +SDict begin H.S end + 197 3084 +a 197 3084 a +SDict begin 11 H.A end + 197 3084 a 197 3084 a +SDict begin [ /View [/XYZ H.V] /Dest (199) cvn H.B /DEST pdfmark end + 197 3084 a 197 3139 +a +SDict begin H.S end + 197 3139 a 197 3139 a +SDict begin 11 H.A end + 197 3139 a 197 3139 a +SDict begin [ /View [/XYZ H.V] /Dest (200) cvn H.B /DEST pdfmark end + 197 3139 +a Black 114 3229 a Fg(*)p Black 54 w(W)o(rite)g(me!)197 +3271 y +SDict begin H.S end + 197 3271 a 197 3271 a +SDict begin 11 H.A end + 197 3271 a 197 3271 a +SDict begin [ /View [/XYZ H.V] /Dest (protocol) cvn H.B /DEST pdfmark +end + 197 +3271 a 287 x Fn(D-B)o(US)29 b(Pr)n(otocol)1024 3558 y +SDict begin H.S end + +1024 3558 a 1024 3558 a +SDict begin 14.641 H.A end + 1024 3558 a 1024 3558 a +SDict begin [ /View [/XYZ H.V] /Dest (1.9.1) cvn H.B /DEST pdfmark +end + 1024 +3558 a 197 3615 a +SDict begin H.S end + 197 3615 a 197 3615 a +SDict begin 11 H.A end + 197 3615 a 197 +3615 a +SDict begin [ /View [/XYZ H.V] /Dest (203) cvn H.B /DEST pdfmark end + 197 3615 a 596 3705 a Fk(The)20 b(following)j(messages)1497 +3705 y +SDict begin H.S end + 1497 3705 a 1497 3705 a +SDict begin 11 H.A end + 1497 3705 a 1497 3705 +a +SDict begin [ /View [/XYZ H.V] /Dest (204) cvn H.B /DEST pdfmark end + 1497 3705 a Fh(must)e Fk(be)f(supported)h(by)g(all)f +(implementations.)197 3728 y +SDict begin H.S end + 197 3728 a 197 3728 a +SDict begin 11 H.A end + 197 +3728 a 197 3728 a +SDict begin [ /View [/XYZ H.V] /Dest (commands) cvn H.B /DEST pdfmark +end + 197 3728 a 596 3973 a Fe(Messa)o(g)q(e)27 +b(commands)1577 3973 y +SDict begin H.S end + 1577 3973 a 1577 3973 a +SDict begin 13.31 H.A end + 1577 3973 +a 1577 3973 a +SDict begin [ /View [/XYZ H.V] /Dest (1.9.1.2) cvn H.B /DEST pdfmark +end + 1577 3973 a 197 3996 a +SDict begin H.S end + 197 3996 a 197 3996 +a +SDict begin 11 H.A end + 197 3996 a 197 3996 a +SDict begin [ /View [/XYZ H.V] /Dest (command-get-capabilities) cvn +H.B /DEST pdfmark end + 197 3996 a 596 4225 a Fd +(org.freedesktop.Notific)q(ati)q(ons)q(.Ge)q(tCa)q(pabi)q(lit)q(ies) +2809 4225 y +SDict begin H.S end + 2809 4225 a 2809 4225 a +SDict begin 12.1 H.A end + 2809 4225 a 2809 +4225 a +SDict begin [ /View [/XYZ H.V] /Dest (1.9.1.1.3) cvn H.B /DEST pdfmark +end + 2809 4225 a 197 4282 a +SDict begin H.S end + 197 4282 a 197 4282 a +SDict begin 9.9 H.A end + 197 +4282 a 197 4282 a +SDict begin [ /View [/XYZ H.V] /Dest (210) cvn H.B /DEST pdfmark end + 197 4282 a 197 4365 a +SDict begin H.S end + 197 4365 a 197 +4365 a +SDict begin 9.9 H.A end + 197 4365 a 197 4365 a +SDict begin [ /View [/XYZ H.V] /Dest (211) cvn H.B /DEST pdfmark end + 197 4365 a 596 4482 a Fi(STRING_ARRAY)1178 +4482 y +SDict begin H.S end + 1178 4482 a 1178 4482 a +SDict begin 9.9 H.A end + 1178 4482 a 1178 4482 +a +SDict begin [ /View [/XYZ H.V] /Dest (213) cvn H.B /DEST pdfmark end + 1178 4482 a Fc(org.freedesktop.No)q(tif)q(ica)q(tio)q(ns.)q(Get)q(Ca) +q(pab)q(ili)q(tie)q(s)51 b Fi(\(void\);)197 4698 y +SDict begin H.S end + 197 +4698 a 197 4698 a +SDict begin 11 H.A end + 197 4698 a 197 4698 a +SDict begin [ /View [/XYZ H.V] /Dest (215) cvn H.B /DEST pdfmark end + 197 4698 a 596 +4789 a Fk(This)21 b(message)g(takes)f(no)h(parameters.)197 +4854 y +SDict begin H.S end + 197 4854 a 197 4854 a +SDict begin 11 H.A end + 197 4854 a 197 4854 a +SDict begin [ /View [/XYZ H.V] /Dest (216) cvn H.B /DEST pdfmark end + 197 +4854 a 596 4922 a Fk(It)34 b(r)o(eturns)g(an)g(array)g(of)g(strings.)h +(Each)f(string)i(describes)d(an)i(optional)g(capability)f(imple-)596 +5013 y(mented)20 b(by)h(the)g(server)-6 b(.)20 b(The)g(following)j +(values)d(ar)o(e)f(de\002ned)i(by)f(this)i(spec:)197 +5037 y +SDict begin H.S end + 197 5037 a 197 5037 a +SDict begin 11 H.A end + 197 5037 a 197 5037 a +SDict begin [ /View [/XYZ H.V] /Dest (217) cvn H.B /DEST pdfmark end + 197 +5037 a 197 5161 a +SDict begin H.S end + 197 5161 a 197 5161 a +SDict begin 11 H.A end + 197 5161 a 197 +5161 a +SDict begin [ /View [/XYZ H.V] /Dest (218) cvn H.B /DEST pdfmark end + 197 5161 a 197 5161 a +SDict begin H.S end + 197 5161 a 197 5161 a +SDict begin 11 H.A end + 197 +5161 a 197 5161 a +SDict begin [ /View [/XYZ H.V] /Dest (table.3) cvn H.B /DEST pdfmark +end + 197 5161 a 596 5164 3099 4 v Black +424 x Fh(6)p Black eop end +%%Page: 7 7 +TeXDict begin 7 6 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black 0 +TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 TeXcolorgray +197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark +end + 197 -102 a Black 2513 +-132 a Fh(Desktop)19 b(Noti\002cations)h(Speci\002cation)p +Black 596 89 3099 4 v 596 491 4 402 v 624 192 a Fi("body")p +2143 491 V 1298 w Fk(Supports)h(body)f(text.)h(Some)2171 +283 y(implementations)h(may)f(only)h(show)g(the)2171 +375 y(summary)f(\(for)g(instance,)f(onscr)o(een)2171 +466 y(displays,)h(mar)o(quee/scr)o(ollers\))p 3691 491 +V 596 494 3099 4 v 596 494 V 596 987 4 493 v 624 597 +a Fi("markup")p 2143 987 V 1208 w Fk(Supports)g(markup)f(in)h(the)g +(body)g(text.)f(If)2171 688 y(marked)g(up)h(text)f(is)i(sent)f(to)g(a)f +(server)g(that)2171 779 y(does)h(not)h(give)e(this)i(cap,)e(the)g +(markup)h(will)2171 871 y(show)h(thr)o(ough)f(as)g(r)o(egular)e(text)i +(so)g(must)h(be)2171 962 y(stripped)f(clientside.)p 3691 +987 V 596 990 3099 4 v 596 990 V 596 1483 4 493 v 624 +1093 a Fi("static-image")p 2143 1483 V 938 w Fk(Supports)g(display)f +(of)h(exactly)f(1)g(frame)g(of)2171 1184 y(any)h(given)g(image)g(array) +-9 b(.)19 b(This)i(value)f(is)2171 1276 y(mutually)i(exclusive)e(with) +2171 1367 y Fi("multi-image")p Fk(,)f(it)i(is)g(a)f(pr)o(otocol)h(err)o +(or)f(for)2171 1458 y(the)h(server)f(to)h(specify)g(both.)p +3691 1483 V 596 1487 3099 4 v 596 1487 V 596 2162 4 676 +v 624 1589 a Fi("multi-image")p 2143 2162 V 983 w Fk(The)g(server)f +(will)h(r)o(ender)f(an)g(animation)i(of)2171 1681 y(all)f(the)g(frames) +f(in)h(a)f(given)h(image)g(array)-9 b(.)2171 1772 y(The)21 +b(client)g(may)g(still)g(specify)g(multiple)2171 1863 +y(frames)f(even)h(if)f(this)i(cap)e(and/or)2171 1955 +y(static-image)g(is)i(missing,)g(however)e(the)2171 2046 +y(server)g(is)h(fr)o(ee)f(to)h(ignor)o(e)g(them)g(and)f(use)2171 +2137 y(only)i(the)f(primary)f(frame.)p 3691 2162 V 596 +2166 3099 4 v 596 2166 V 596 2567 4 402 v 624 2268 a +Fi("sound")p 2143 2567 V 1253 w Fk(The)h(server)f(will)h(play)g(the)g +(speci\002ed)2171 2360 y(sound.)g(Even)g(if)f(this)i(cap)e(is)h +(missing,)h(a)2171 2451 y(sound)f(may)f(still)g(be)g(speci\002ed)f +(however)i(the)2171 2542 y(server)f(is)h(fr)o(ee)f(to)h(ignor)o(e)g +(it.)p 3691 2567 V 596 2571 3099 4 v 596 2571 V 596 3064 +4 493 v 624 2673 a Fi("actions")p 2143 3064 V 1163 w +Fk(The)g(server)f(will)h(pr)o(ovide)f(the)h(speci\002ed)2171 +2765 y(actions)g(to)h(the)f(user)-6 b(.)20 b(Even)g(if)h(this)g(cap)f +(is)2171 2856 y(missing,)i(actions)f(may)g(still)h(be)e(speci\002ed)h +(by)2171 2947 y(the)g(client,)g(however)g(the)g(server)f(is)h(fr)o(ee)e +(to)2171 3039 y(ignor)o(e)i(them.)p 3691 3064 V 596 3067 +3099 4 v 596 3067 V 197 3150 a +SDict begin H.S end + 197 3150 a 197 3150 a +SDict begin 11 H.A end + +197 3150 a 197 3150 a +SDict begin [ /View [/XYZ H.V] /Dest (245) cvn H.B /DEST pdfmark end + 197 3150 a 596 3241 a Fk(New)72 +b(vendor)o(-speci\002c)g(caps)g(may)h(be)f(speci\002ed)g(as)h(long)g +(as)g(they)g(start)f(with)596 3333 y +SDict begin H.S end + 596 3333 a 596 3333 +a +SDict begin 11 H.A end + 596 3333 a 596 3333 a +SDict begin [ /View [/XYZ H.V] /Dest (246) cvn H.B /DEST pdfmark end + 596 3333 a Fi("x-vendorname")p +Fk(.)37 b(For)k(instance,)1811 3333 y +SDict begin H.S end + 1811 3333 a 1811 +3333 a +SDict begin 11 H.A end + 1811 3333 a 1811 3333 a +SDict begin [ /View [/XYZ H.V] /Dest (247) cvn H.B /DEST pdfmark end + 1811 3333 a Fi("x-gnome-foo-cap")p +Fk(.)d(Capability)i(names)g(must)h(not)596 3424 y(contain)21 +b(spaces.)f(They)h(ar)o(e)e(limited)i(to)g(alpha-numeric)f(characters)g +(and)g(dashes)h(\()3298 3424 y +SDict begin H.S end + 3298 3424 a 3298 3424 +a +SDict begin 11 H.A end + 3298 3424 a 3298 3424 a +SDict begin [ /View [/XYZ H.V] /Dest (248) cvn H.B /DEST pdfmark end + 3298 3424 a Fi("-")p Fk(\).)197 +3489 y +SDict begin H.S end + 197 3489 a 197 3489 a +SDict begin 11 H.A end + 197 3489 a 197 3489 a +SDict begin [ /View [/XYZ H.V] /Dest (command-notify) cvn H.B /DEST +pdfmark end + 197 +3489 a 596 3732 a Fd(org.freedesktop.Notific)q(ati)q(ons)q(.No)q(tif)q +(y)2365 3732 y +SDict begin H.S end + 2365 3732 a 2365 3732 a +SDict begin 12.1 H.A end + 2365 3732 a 2365 +3732 a +SDict begin [ /View [/XYZ H.V] /Dest (1.9.1.2.3) cvn H.B /DEST pdfmark +end + 2365 3732 a 197 3789 a +SDict begin H.S end + 197 3789 a 197 3789 a +SDict begin 9.9 H.A end + 197 +3789 a 197 3789 a +SDict begin [ /View [/XYZ H.V] /Dest (252) cvn H.B /DEST pdfmark end + 197 3789 a 197 3872 a +SDict begin H.S end + 197 3872 a 197 +3872 a +SDict begin 9.9 H.A end + 197 3872 a 197 3872 a +SDict begin [ /View [/XYZ H.V] /Dest (253) cvn H.B /DEST pdfmark end + 197 3872 a 596 3988 a Fi(UINT32)909 +3988 y +SDict begin H.S end + 909 3988 a 909 3988 a +SDict begin 9.9 H.A end + 909 3988 a 909 3988 a +SDict begin [ /View [/XYZ H.V] /Dest (255) cvn H.B /DEST pdfmark end + 909 +3988 a Fc(org.freedesktop.No)q(tif)q(ica)q(tio)q(ns.)q(Not)q(if)q(y) +2407 3988 y +SDict begin H.S end + 2407 3988 a 2407 3988 a +SDict begin 9.9 H.A end + 2407 3988 a 2407 +3988 a +SDict begin [ /View [/XYZ H.V] /Dest (256) cvn H.B /DEST pdfmark end + 2407 3988 a Fi(\(STRING_OR_NIL)3079 3988 y +SDict begin H.S end + 3079 +3988 a 3079 3988 a +SDict begin 9.9 H.A end + 3079 3988 a 3079 3988 a +SDict begin [ /View [/XYZ H.V] /Dest (257) cvn H.B /DEST pdfmark end + 3079 3988 +a Fb(app_name)p Fi(,)596 4071 y +SDict begin H.S end + 596 4071 a 596 4071 a +SDict begin 9.9 H.A end + +596 4071 a 596 4071 a +SDict begin [ /View [/XYZ H.V] /Dest (258) cvn H.B /DEST pdfmark end + 596 4071 a Fi(BYTE_ARRAY_OR_NIL)1402 +4071 y +SDict begin H.S end + 1402 4071 a 1402 4071 a +SDict begin 9.9 H.A end + 1402 4071 a 1402 4071 +a +SDict begin [ /View [/XYZ H.V] /Dest (259) cvn H.B /DEST pdfmark end + 1402 4071 a Fb(app_icon)p Fi(,)1851 4071 y +SDict begin H.S end + 1851 4071 +a 1851 4071 a +SDict begin 9.9 H.A end + 1851 4071 a 1851 4071 a +SDict begin [ /View [/XYZ H.V] /Dest (260) cvn H.B /DEST pdfmark end + 1851 4071 a Fi(UINT32_OR_NIL)2478 +4071 y +SDict begin H.S end + 2478 4071 a 2478 4071 a +SDict begin 9.9 H.A end + 2478 4071 a 2478 4071 +a +SDict begin [ /View [/XYZ H.V] /Dest (261) cvn H.B /DEST pdfmark end + 2478 4071 a Fb(replaces_id)s Fi(,)3064 4071 y +SDict begin H.S end + 3064 +4071 a 3064 4071 a +SDict begin 9.9 H.A end + 3064 4071 a 3064 4071 a +SDict begin [ /View [/XYZ H.V] /Dest (262) cvn H.B /DEST pdfmark end + 3064 4071 +a Fi(STRING_OR_NIL)596 4153 y +SDict begin H.S end + 596 4153 a 596 4153 a +SDict begin 9.9 H.A end + 596 +4153 a 596 4153 a +SDict begin [ /View [/XYZ H.V] /Dest (263) cvn H.B /DEST pdfmark end + 596 4153 a Fb(notification_type)p Fi(,)1447 +4153 y +SDict begin H.S end + 1447 4153 a 1447 4153 a +SDict begin 9.9 H.A end + 1447 4153 a 1447 4153 +a +SDict begin [ /View [/XYZ H.V] /Dest (264) cvn H.B /DEST pdfmark end + 1447 4153 a Fi(BYTE)1671 4153 y +SDict begin H.S end + 1671 4153 a 1671 4153 +a +SDict begin 9.9 H.A end + 1671 4153 a 1671 4153 a +SDict begin [ /View [/XYZ H.V] /Dest (265) cvn H.B /DEST pdfmark end + 1671 4153 a Fb(urgency_level)p +Fi(,)2344 4153 y +SDict begin H.S end + 2344 4153 a 2344 4153 a +SDict begin 9.9 H.A end + 2344 4153 a +2344 4153 a +SDict begin [ /View [/XYZ H.V] /Dest (266) cvn H.B /DEST pdfmark end + 2344 4153 a Fi(STRING)2658 4153 y +SDict begin H.S end + 2658 4153 +a 2658 4153 a +SDict begin 9.9 H.A end + 2658 4153 a 2658 4153 a +SDict begin [ /View [/XYZ H.V] /Dest (267) cvn H.B /DEST pdfmark end + 2658 4153 a Fb(summary)6 +b Fi(,)3067 4153 y +SDict begin H.S end + 3067 4153 a 3067 4153 a +SDict begin 9.9 H.A end + 3067 4153 +a 3067 4153 a +SDict begin [ /View [/XYZ H.V] /Dest (268) cvn H.B /DEST pdfmark end + 3067 4153 a Fi(STRING_OR_NIL)596 4235 y +SDict begin H.S end + +596 4235 a 596 4235 a +SDict begin 9.9 H.A end + 596 4235 a 596 4235 a +SDict begin [ /View [/XYZ H.V] /Dest (269) cvn H.B /DEST pdfmark end + 596 4235 +a Fb(body)g Fi(,)871 4235 y +SDict begin H.S end + 871 4235 a 871 4235 a +SDict begin 9.9 H.A end + 871 +4235 a 871 4235 a +SDict begin [ /View [/XYZ H.V] /Dest (270) cvn H.B /DEST pdfmark end + 871 4235 a Fi(ARRAY)1140 4235 y +SDict begin H.S end + 1140 +4235 a 1140 4235 a +SDict begin 9.9 H.A end + 1140 4235 a 1140 4235 a +SDict begin [ /View [/XYZ H.V] /Dest (271) cvn H.B /DEST pdfmark end + 1140 4235 +a Fb(images)p Fi(,)1498 4235 y +SDict begin H.S end + 1498 4235 a 1498 4235 +a +SDict begin 9.9 H.A end + 1498 4235 a 1498 4235 a +SDict begin [ /View [/XYZ H.V] /Dest (272) cvn H.B /DEST pdfmark end + 1498 4235 a Fi(STRING_OR_NIL)2126 +4235 y +SDict begin H.S end + 2126 4235 a 2126 4235 a +SDict begin 9.9 H.A end + 2126 4235 a 2126 4235 +a +SDict begin [ /View [/XYZ H.V] /Dest (273) cvn H.B /DEST pdfmark end + 2126 4235 a Fb(sound)s Fi(,)2443 4235 y +SDict begin H.S end + 2443 4235 a +2443 4235 a +SDict begin 9.9 H.A end + 2443 4235 a 2443 4235 a +SDict begin [ /View [/XYZ H.V] /Dest (274) cvn H.B /DEST pdfmark end + 2443 4235 a Fi(DICT_OR_NIL)2981 +4235 y +SDict begin H.S end + 2981 4235 a 2981 4235 a +SDict begin 9.9 H.A end + 2981 4235 a 2981 4235 +a +SDict begin [ /View [/XYZ H.V] /Dest (275) cvn H.B /DEST pdfmark end + 2981 4235 a Fb(actions)p Fi(,)596 4317 y +SDict begin H.S end + 596 4317 a +596 4317 a +SDict begin 9.9 H.A end + 596 4317 a 596 4317 a +SDict begin [ /View [/XYZ H.V] /Dest (276) cvn H.B /DEST pdfmark end + 596 4317 a Fi(DICT_OR_NIL)1133 +4317 y +SDict begin H.S end + 1133 4317 a 1133 4317 a +SDict begin 9.9 H.A end + 1133 4317 a 1133 4317 +a +SDict begin [ /View [/XYZ H.V] /Dest (277) cvn H.B /DEST pdfmark end + 1133 4317 a Fb(hints)p Fi(,)1447 4317 y +SDict begin H.S end + 1447 4317 a +1447 4317 a +SDict begin 9.9 H.A end + 1447 4317 a 1447 4317 a +SDict begin [ /View [/XYZ H.V] /Dest (278) cvn H.B /DEST pdfmark end + 1447 4317 a Fi(UINT32_OR_NIL)2075 +4317 y +SDict begin H.S end + 2075 4317 a 2075 4317 a +SDict begin 9.9 H.A end + 2075 4317 a 2075 4317 +a +SDict begin [ /View [/XYZ H.V] /Dest (279) cvn H.B /DEST pdfmark end + 2075 4317 a Fb(expire_time)p Fi(\);)197 4533 y +SDict begin H.S end + 197 +4533 a 197 4533 a +SDict begin 11 H.A end + 197 4533 a 197 4533 a +SDict begin [ /View [/XYZ H.V] /Dest (280) cvn H.B /DEST pdfmark end + 197 4533 a 596 +4624 a Fk(Sends)20 b(a)g(noti\002cation)i(to)f(the)g(noti\002cation)h +(server)-6 b(.)197 4626 y +SDict begin H.S end + 197 4626 a 197 4626 a +SDict begin 11 H.A end + 197 4626 +a 197 4626 a +SDict begin [ /View [/XYZ H.V] /Dest (281) cvn H.B /DEST pdfmark end + 197 4626 a 596 4840 a Fl(T)d(able)19 b(1.)h(Notify)h +(Parameters)197 4945 y +SDict begin H.S end + 197 4945 a 197 4945 a +SDict begin 11 H.A end + 197 4945 +a 197 4945 a +SDict begin [ /View [/XYZ H.V] /Dest (283) cvn H.B /DEST pdfmark end + 197 4945 a 197 4945 a +SDict begin H.S end + 197 4945 a 197 4945 +a +SDict begin 11 H.A end + 197 4945 a 197 4945 a +SDict begin [ /View [/XYZ H.V] /Dest (table.4) cvn H.B /DEST pdfmark +end + 197 4945 a 596 4948 3102 4 v +596 4948 V 596 5076 4 129 v 624 5051 a Ff(Name)p 1628 +5076 V 807 w(T)-5 b(ype)p 2661 5076 V 843 w(Description)p +3694 5076 V 596 5079 3102 4 v 596 5079 V 596 5390 4 311 +v 624 5182 a Fk(app_name)p 1628 5390 V 646 w(STRING)21 +b(or)f(NIL)p 2661 5390 V 476 w(The)h(optional)g(name)g(of)g(the)2689 +5274 y(application)g(sending)g(the)2689 5365 y(noti\002cation.)p +3694 5390 V 596 5393 3102 4 v Black 3642 5585 a Fh(7)p +Black eop end +%%Page: 8 8 +TeXDict begin 8 7 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black 0 +TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 TeXcolorgray +197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark +end + 197 -102 a Black -30 +x Fh(Desktop)20 b(Noti\002cations)f(Speci\002cation)p +Black 596 9 3102 4 v 596 9 V 596 137 4 129 v 624 112 +a Ff(Name)p 1628 137 V 807 w(T)-5 b(ype)p 2661 137 V +843 w(Description)p 3694 137 V 596 137 3102 4 v 596 357 +4 220 v 624 241 a Fk(app_icon)p 1628 357 V 695 w(BYTE_ARRA)c(Y)20 +b(or)h(NIL)p 2661 357 V 229 w(The)f(optional)h(pr)o(ogram)e(icon)2689 +332 y(of)i(the)g(calling)g(application.)p 3694 357 V +596 360 3102 4 v 596 360 V 596 1401 4 1042 v 624 463 +a(r)o(eplaces_id)p 1628 1401 V 616 w(UINT32)e(or)i(NIL)p +2661 1401 V 490 w(The)g(optional)g(noti\002cation)2689 +555 y(ID)g(that)g(this)h(noti\002cation)2689 646 y(r)o(eplaces.)d(The)i +(server)f(must)2689 737 y(atomically)h(\(ie)g(with)g(no)2689 +828 y(\003icker)g(or)g(other)g(visual)2689 920 y(cues\))g(r)o(eplace)e +(the)i(given)2689 1011 y(noti\002cation)h(with)g(this)f(one.)2689 +1102 y(This)h(allows)f(clients)g(to)2689 1194 y(ef)o(fectively)e +(modify)j(the)2689 1285 y(noti\002cation)g(while)g(it's)2689 +1376 y(active.)p 3694 1401 V 596 1405 3102 4 v 596 1405 +V 596 1898 4 494 v 624 1508 a(noti\002cation_type)p 1628 +1898 V 411 w(STRING)f(or)f(NIL)p 2661 1898 V 476 w(The)h(optional)g +(noti\002cation)2689 1599 y(type)g(ID,)g(for)f(potential)2689 +1690 y(server)g(categorization)h(and)2689 1782 y(logging)i(purposes.)d +(See)p 0 TeXcolorgray 2689 1873 a +SDict begin H.S end + 2689 1873 a Fk(Noti\002cation)i(T)-7 +b(ypes)3364 1873 y +SDict begin 11 H.L end + 3364 1873 a 3364 1873 a +SDict begin [ /Subtype /Link /Dest (notification-types) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3364 1873 +a Black Fk(.)p 3694 1898 4 494 v 596 1901 3102 4 v 596 +1901 V 596 2121 4 220 v 624 2004 a(ur)o(gency_level)p +1628 2121 V 517 w(BYTE)p 2661 2121 V 824 w(The)21 b(ur)o(gency)f +(level.)h(See)p 0 TeXcolorgray 2689 2096 a +SDict begin H.S end + 2689 2096 +a Fk(Ur)o(gency)f(Levels)3260 2096 y +SDict begin 11 H.L end + 3260 2096 a 3260 +2096 a +SDict begin [ /Subtype /Link /Dest (urgency-levels) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3260 2096 a Black Fk(.)p 3694 2121 4 220 v 596 +2124 3102 4 v 596 2124 V 596 2435 4 311 v 624 2227 a(summary)p +1628 2435 V 681 w(STRING)p 2661 2435 V 722 w(The)h(summary)g(text)g +(brie\003y)2689 2318 y(describing)g(the)g(noti\002cation.)p +3694 2435 V 596 2438 3102 4 v 596 2438 V 596 2657 4 220 +v 624 2541 a(body)p 1628 2657 V 845 w(STRING)g(or)f(NIL)p +2661 2657 V 455 w(The)h(optional)h(detailed)2689 2632 +y(body)f(text.)p 3694 2657 V 596 2661 3102 4 v 596 2661 +V 596 2971 4 311 v 624 2764 a(images)p 1628 2971 V 773 +w(ARRA)-9 b(Y)21 b(or)f(NIL)p 2661 2971 V 500 w(The)h(optional)g(array) +f(of)2689 2855 y(images.)h(See)p 0 TeXcolorgray 2689 +2946 a +SDict begin H.S end + 2689 2946 a Fk(Icons)h(and)e(Sounds)3338 2946 +y +SDict begin 11 H.L end + 3338 2946 a 3338 2946 a +SDict begin [ /Subtype /Link /Dest (icons-sounds) cvn /H /I /Border +[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end + 3338 2946 a Black Fk(.)p 3694 +2971 4 311 v 596 2975 3102 4 v 596 2975 V 596 3194 4 +220 v 624 3078 a(sound)p 1628 3194 V 804 w(STRING)p 2661 +3194 V 722 w(The)h(optional)h(sound)f(\002le)g(to)2689 +3169 y(play)-9 b(.)p 3694 3194 V 596 3197 3102 4 v 596 +3197 V 596 4239 4 1042 v 624 3300 a(actions)p 1628 4239 +V 775 w(DICT)20 b(or)h(NIL)p 2661 4239 V 584 w(A)f(dictionary)h(key)g +(of)2689 3392 y(actions.)g(Each)f(key)h(is)g(the)2689 +3483 y(localized)f(name)h(of)g(the)2689 3574 y(action,)g(as)g(it)g +(should)g(appear)2689 3666 y(to)g(the)g(user)-6 b(,)21 +b(and)f(maps)h(to)g(a)2689 3757 y(UINT32)f(value)g(containing)2689 +3848 y(a)h(pr)o(ogram-speci\002c)e(action)2689 3940 y(code.)i(This)g +(code)f(will)i(be)2689 4031 y(r)o(eported)e(back)g(to)h(the)2689 +4122 y(pr)o(ogram)f(if)h(the)g(action)g(is)2689 4214 +y(invoked)g(by)g(the)g(user)-6 b(.)p 3694 4239 V 596 +4242 3102 4 v 596 4242 V 596 5466 4 1224 v 624 4345 a(hints)p +1628 5466 V 851 w(DICT)20 b(or)h(NIL)p 2661 5466 V 584 +w(Optional)h(hints)f(that)g(can)g(be)2689 4436 y(passed)f(to)i(the)e +(server)g(fr)o(om)2689 4528 y(the)h(client)g(pr)o(ogram.)2689 +4619 y(Although)h(clients)f(and)2689 4710 y(servers)g(should)g(never) +2689 4802 y(assume)g(each)f(other)2689 4893 y(supports)i(any)e +(speci\002c)2689 4984 y(hints,)i(they)f(can)f(be)h(used)f(to)2689 +5076 y(pass)h(along)g(information,)2689 5167 y(such)h(as)e(the)h(pr)o +(ocess)f(PID)h(or)2689 5258 y(window)h(ID,)f(that)g(the)2689 +5350 y(server)f(may)h(be)f(able)h(to)2689 5441 y(make)g(use)g(of.)f +(See)p 0 TeXcolorgray 3315 5441 a +SDict begin H.S end + 3315 5441 a Fk(Hints)3518 +5441 y +SDict begin 11 H.L end + 3518 5441 a 3518 5441 a +SDict begin [ /Subtype /Link /Dest (hints) cvn /H /I /Border [0 0 0] +/Color [1 0 0] H.B /ANN pdfmark end + 3518 5441 a Black 1 w +Fk(.)p 3694 5466 4 1224 v 596 5469 3102 4 v Black 197 +5585 a Fh(8)p Black eop end +%%Page: 9 9 +TeXDict begin 9 8 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black 0 +TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 TeXcolorgray +197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark +end + 197 -102 a Black 2513 +-132 a Fh(Desktop)19 b(Noti\002cations)h(Speci\002cation)p +Black 596 9 3102 4 v 596 9 V 596 137 4 129 v 624 112 +a Ff(Name)p 1628 137 V 807 w(T)-5 b(ype)p 2661 137 V +843 w(Description)p 3694 137 V 596 137 3102 4 v 596 1453 +4 1316 v 624 241 a Fk(expir)o(e_time)p 1628 1453 V 598 +w(UINT32)19 b(or)i(NIL)p 2661 1453 V 490 w(The)g(noti\002cation)h +(time-out)2689 332 y(time,)f(r)o(epr)o(esented)e(as)2689 +423 y(UNIX-time)i(\(seconds)g(since)2689 514 y(the)g(epoch\).)g(If)f +(this)h(is)h(NIL,)2689 606 y(the)f(noti\002cation)h(will)g(never)2689 +697 y(time)f(out,)g(and)g(will)g(only)h(be)2689 788 y(closed)f(when)h +(an)e(action)h(is)2689 880 y(invoked.)g(If)g(non-NIL,)f(this)2689 +971 y(will)i(specify)e(a)h(time)g(at)2689 1062 y(which)h(the)f +(noti\002cation)h(will)2689 1154 y(be)f(automatically)f(closed.)h(If) +2689 1245 y(zer)o(o,)f(the)h(server)6 b('s)20 b(default)2689 +1336 y(expiration)h(time)g(will)g(be)2689 1428 y(used.)p +3694 1453 V 596 1456 3102 4 v 596 1456 V 197 1539 a +SDict begin H.S end + 197 +1539 a 197 1539 a +SDict begin 11 H.A end + 197 1539 a 197 1539 a +SDict begin [ /View [/XYZ H.V] /Dest (342) cvn H.B /DEST pdfmark end + 197 1539 a 596 +1605 a Fk(If)672 1605 y +SDict begin H.S end + 672 1605 a 672 1605 a +SDict begin 11 H.A end + 672 1605 +a 672 1605 a +SDict begin [ /View [/XYZ H.V] /Dest (343) cvn H.B /DEST pdfmark end + 672 1605 a Fa(replaces_id)h Fk(is)f(NIL,)f(the)h(r)o +(eturn)f(value)g(is)i(a)e(UINT32)f(that)i(r)o(epr)o(esent)e(the)i +(noti\002cation.)596 1697 y(It)16 b(is)h(unique,)g(and)f(will)i(not)f +(be)f(r)o(eused)g(unless)h(a)2165 1697 y +SDict begin H.S end + 2165 1697 a +2165 1697 a +SDict begin 11 H.A end + 2165 1697 a 2165 1697 a +SDict begin [ /View [/XYZ H.V] /Dest (344) cvn H.B /DEST pdfmark end + 2165 1697 a Fi(MAXINT)f +Fk(number)g(of)h(noti\002cations)h(have)e(been)596 1788 +y(generated.)22 b(An)i(acceptable)e(implementation)j(may)f(just)g(use)g +(an)g(incr)o(ementing)g(counter)g(for)596 1879 y(the)h(ID.)h(The)f(r)o +(eturned)g(ID)g(is)h(always)g(gr)o(eater)e(than)h(zer)o(o.)g(Servers)f +(must)i(make)f(sur)o(e)g(not)i(to)596 1971 y(r)o(eturn)20 +b(zer)o(o)f(as)i(an)f(ID.)197 2014 y +SDict begin H.S end + 197 2014 a 197 2014 +a +SDict begin 11 H.A end + 197 2014 a 197 2014 a +SDict begin [ /View [/XYZ H.V] /Dest (345) cvn H.B /DEST pdfmark end + 197 2014 a 596 2104 a Fk(If)672 +2104 y +SDict begin H.S end + 672 2104 a 672 2104 a +SDict begin 11 H.A end + 672 2104 a 672 2104 a +SDict begin [ /View [/XYZ H.V] /Dest (346) cvn H.B /DEST pdfmark end + 672 +2104 a Fa(replaces_id)i Fk(is)f(not)h(NIL,)e(the)h(r)o(eturned)e(value) +h(is)h(the)g(same)g(value)f(as)3102 2104 y +SDict begin H.S end + 3102 2104 +a 3102 2104 a +SDict begin 11 H.A end + 3102 2104 a 3102 2104 a +SDict begin [ /View [/XYZ H.V] /Dest (347) cvn H.B /DEST pdfmark end + 3102 2104 a Fa(replaces_id)s +Fk(.)197 2159 y +SDict begin H.S end + 197 2159 a 197 2159 a +SDict begin 11 H.A end + 197 2159 a 197 +2159 a +SDict begin [ /View [/XYZ H.V] /Dest (command-close-notification) cvn +H.B /DEST pdfmark end + 197 2159 a 596 2412 a Fd(org.freedesktop.Notific)q(ati)q(ons)q +(.Cl)q(ose)q(Noti)q(fic)q(ati)q(on)2907 2412 y +SDict begin H.S end + 2907 2412 +a 2907 2412 a +SDict begin 12.1 H.A end + 2907 2412 a 2907 2412 a +SDict begin [ /View [/XYZ H.V] /Dest (1.9.1.3.3) cvn H.B /DEST pdfmark +end + 2907 2412 a 197 +2468 a +SDict begin H.S end + 197 2468 a 197 2468 a +SDict begin 9.9 H.A end + 197 2468 a 197 2468 a +SDict begin [ /View [/XYZ H.V] /Dest (351) cvn H.B /DEST pdfmark end + 197 +2468 a 197 2551 a +SDict begin H.S end + 197 2551 a 197 2551 a +SDict begin 9.9 H.A end + 197 2551 a 197 +2551 a +SDict begin [ /View [/XYZ H.V] /Dest (352) cvn H.B /DEST pdfmark end + 197 2551 a 596 2668 a Fi(BOOLEAN)954 2668 y +SDict begin H.S end + 954 +2668 a 954 2668 a +SDict begin 9.9 H.A end + 954 2668 a 954 2668 a +SDict begin [ /View [/XYZ H.V] /Dest (354) cvn H.B /DEST pdfmark end + 954 2668 a Fc +(org.freedesktop.Not)q(ifi)q(ca)q(tio)q(ns.)q(Clo)q(seN)q(oti)q(fic)q +(at)q(ion)2895 2668 y +SDict begin H.S end + 2895 2668 a 2895 2668 a +SDict begin 9.9 H.A end + 2895 2668 +a 2895 2668 a +SDict begin [ /View [/XYZ H.V] /Dest (355) cvn H.B /DEST pdfmark end + 2895 2668 a Fi(\(UINT32)44 b(id\);)197 +2884 y +SDict begin H.S end + 197 2884 a 197 2884 a +SDict begin 11 H.A end + 197 2884 a 197 2884 a +SDict begin [ /View [/XYZ H.V] /Dest (356) cvn H.B /DEST pdfmark end + 197 +2884 a 596 2975 a Fk(Causes)18 b(a)h(noti\002cation)h(to)g(be)e(for)o +(cefully)h(closed)g(and)f(r)o(emoved)h(fr)o(om)f(the)i(user)6 +b('s)19 b(view)-8 b(.)19 b(It)g(can)596 3067 y(be)24 +b(used,)h(for)g(example,)g(in)g(the)h(event)f(that)g(what)g(the)h +(noti\002cation)g(pertains)f(to)h(is)g(no)g(onger)596 +3158 y(r)o(elevant,)19 b(or)i(to)g(cancel)f(a)g(noti\002cation)i(with)g +(no)f(expiration)g(time.)197 3223 y +SDict begin H.S end + 197 3223 a 197 3223 +a +SDict begin 11 H.A end + 197 3223 a 197 3223 a +SDict begin [ /View [/XYZ H.V] /Dest (357) cvn H.B /DEST pdfmark end + 197 3223 a 596 3291 a Fk(The)755 +3291 y +SDict begin H.S end + 755 3291 a 755 3291 a +SDict begin 11 H.A end + 755 3291 a 755 3291 a +SDict begin [ /View [/XYZ H.V] /Dest (358) cvn H.B /DEST pdfmark end + 755 +3291 a Fi(NotificationClosed)d Fk(signal)j(is)g(emitted)g(by)g(this)g +(method.)197 3356 y +SDict begin H.S end + 197 3356 a 197 3356 a +SDict begin 11 H.A end + 197 3356 a +197 3356 a +SDict begin [ /View [/XYZ H.V] /Dest (359) cvn H.B /DEST pdfmark end + 197 3356 a 596 3424 a Fk(This)28 b(r)o(eturns)1075 +3424 y +SDict begin H.S end + 1075 3424 a 1075 3424 a +SDict begin 11 H.A end + 1075 3424 a 1075 3424 +a +SDict begin [ /View [/XYZ H.V] /Dest (360) cvn H.B /DEST pdfmark end + 1075 3424 a Fi(TRUE)f Fk(if)h(the)g(noti\002cation)h(was)f(closed.)g +(If)g(the)g(noti\002cation)h(didn't)f(exist,)g(this)596 +3515 y(will)23 b(r)o(eturn)1012 3515 y +SDict begin H.S end + 1012 3515 a 1012 +3515 a +SDict begin 11 H.A end + 1012 3515 a 1012 3515 a +SDict begin [ /View [/XYZ H.V] /Dest (361) cvn H.B /DEST pdfmark end + 1012 3515 a Fi(FALSE)p +Fk(.)e(This)i(can)g(happen)f(if)g(the)h(noti\002cation)h(alr)o(eady)d +(expir)o(ed)g(or)i(was)f(closed,)596 3606 y(or)e(if)h(the)g(ID)g(was)g +(simply)g(invalid.)197 3671 y +SDict begin H.S end + 197 3671 a 197 3671 a +SDict begin 11 H.A end + 197 +3671 a 197 3671 a +SDict begin [ /View [/XYZ H.V] /Dest (command-get-server-information) +cvn H.B /DEST pdfmark end + 197 3671 a 596 3914 a Fd(org.freedesktop.Notific)q +(ati)q(ons)q(.Ge)q(tSe)q(rver)q(Inf)q(orm)q(ati)q(on)3055 +3914 y +SDict begin H.S end + 3055 3914 a 3055 3914 a +SDict begin 12.1 H.A end + 3055 3914 a 3055 3914 +a +SDict begin [ /View [/XYZ H.V] /Dest (1.9.1.4.3) cvn H.B /DEST pdfmark +end + 3055 3914 a 197 3971 a +SDict begin H.S end + 197 3971 a 197 3971 a +SDict begin 9.9 H.A end + 197 3971 +a 197 3971 a +SDict begin [ /View [/XYZ H.V] /Dest (365) cvn H.B /DEST pdfmark end + 197 3971 a 197 4054 a +SDict begin H.S end + 197 4054 a 197 4054 +a +SDict begin 9.9 H.A end + 197 4054 a 197 4054 a +SDict begin [ /View [/XYZ H.V] /Dest (366) cvn H.B /DEST pdfmark end + 197 4054 a 596 4171 a Fi(void)820 +4171 y +SDict begin H.S end + 820 4171 a 820 4171 a +SDict begin 9.9 H.A end + 820 4171 a 820 4171 a +SDict begin [ /View [/XYZ H.V] /Dest (368) cvn H.B /DEST pdfmark end + 820 +4171 a Fc(org.freedesktop.Noti)q(fic)q(ati)q(ons)q(.Ge)q(tS)q(erv)q +(erI)q(nfo)q(rma)q(tio)q(n)2882 4171 y +SDict begin H.S end + 2882 4171 a 2882 +4171 a +SDict begin 9.9 H.A end + 2882 4171 a 2882 4171 a +SDict begin [ /View [/XYZ H.V] /Dest (369) cvn H.B /DEST pdfmark end + 2882 4171 a Fi(\(out)44 +b(STRING)3420 4171 y +SDict begin H.S end + 3420 4171 a 3420 4171 a +SDict begin 9.9 H.A end + 3420 4171 +a 3420 4171 a +SDict begin [ /View [/XYZ H.V] /Dest (370) cvn H.B /DEST pdfmark end + 3420 4171 a Fb(name)p Fi(,)596 4253 y +SDict begin H.S end + 596 +4253 a 596 4253 a +SDict begin 9.9 H.A end + 596 4253 a 596 4253 a +SDict begin [ /View [/XYZ H.V] /Dest (371) cvn H.B /DEST pdfmark end + 596 4253 a Fi(out)g(STRING)1089 +4253 y +SDict begin H.S end + 1089 4253 a 1089 4253 a +SDict begin 9.9 H.A end + 1089 4253 a 1089 4253 +a +SDict begin [ /View [/XYZ H.V] /Dest (372) cvn H.B /DEST pdfmark end + 1089 4253 a Fb(vendor)s Fi(,)1450 4253 y +SDict begin H.S end + 1450 4253 +a 1450 4253 a +SDict begin 9.9 H.A end + 1450 4253 a 1450 4253 a +SDict begin [ /View [/XYZ H.V] /Dest (373) cvn H.B /DEST pdfmark end + 1450 4253 a Fi(out)g(STRING)1943 +4253 y +SDict begin H.S end + 1943 4253 a 1943 4253 a +SDict begin 9.9 H.A end + 1943 4253 a 1943 4253 +a +SDict begin [ /View [/XYZ H.V] /Dest (374) cvn H.B /DEST pdfmark end + 1943 4253 a Fb(version)p Fi(\);)197 4469 y +SDict begin H.S end + 197 4469 +a 197 4469 a +SDict begin 11 H.A end + 197 4469 a 197 4469 a +SDict begin [ /View [/XYZ H.V] /Dest (375) cvn H.B /DEST pdfmark end + 197 4469 a 596 4560 +a Fk(This)32 b(message)h(r)o(eturns)f(the)g(information)h(on)g(the)g +(server)-6 b(.)31 b(Speci\002cally)-9 b(,)31 b(the)i(server)e(name,)596 +4651 y(vendor)-6 b(,)20 b(and)g(version)h(number)-6 b(.)197 +4665 y +SDict begin H.S end + 197 4665 a 197 4665 a +SDict begin 11 H.A end + 197 4665 a 197 4665 a +SDict begin [ /View [/XYZ H.V] /Dest (376) cvn H.B /DEST pdfmark end + 197 +4665 a 596 4867 a Fl(T)d(able)19 b(2.)h(GetServerInformation)f(Return)g +(V)-9 b(alues)197 4951 y +SDict begin H.S end + 197 4951 a 197 4951 a +SDict begin 11 H.A end + 197 4951 +a 197 4951 a +SDict begin [ /View [/XYZ H.V] /Dest (378) cvn H.B /DEST pdfmark end + 197 4951 a 197 4951 a +SDict begin H.S end + 197 4951 a 197 4951 +a +SDict begin 11 H.A end + 197 4951 a 197 4951 a +SDict begin [ /View [/XYZ H.V] /Dest (table.5) cvn H.B /DEST pdfmark +end + 197 4951 a 596 4955 4132 4 v +596 4955 V 596 5083 4 129 v 624 5058 a Ff(Name)p 2143 +5083 V 1321 w(T)k(ype)p 3691 5083 V 1359 w(Description)p +4723 5083 V 596 5086 4132 4 v 596 5086 V 596 5305 4 220 +v 624 5189 a Fk(name)p 2143 5305 V 1344 w(STRING)p 3691 +5305 V 1238 w(The)21 b(pr)o(oduct)f(name)g(of)h(the)3719 +5280 y(server)-6 b(.)p 4723 5305 V 596 5309 4132 4 v +Black 3642 5585 a Fh(9)p Black eop end +%%Page: 10 10 +TeXDict begin 10 9 bop -600 -600 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + -600 -600 a Black +0 TeXcolorgray 197 -102 a +SDict begin H.S end + 197 -102 a 0 TeXcolorgray 0 +TeXcolorgray 197 -102 a +SDict begin H.R end + 197 -102 a 197 -102 a +SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark +end + 197 -102 +a Black -30 x Fh(Desktop)20 b(Noti\002cations)f(Speci\002cation)p +Black 596 9 4132 4 v 596 9 V 596 137 4 129 v 624 112 +a Ff(Name)p 2143 137 V 1321 w(T)-5 b(ype)p 3691 137 V +1359 w(Description)p 4723 137 V 596 137 4132 4 v 596 +631 4 494 v 624 241 a Fk(vendor)p 2143 631 V 1283 w(STRING)p +3691 631 V 1259 w(The)20 b(vendor)h(name.)f(For)3719 +332 y(example,)g("KDE,")3719 423 y("GNOME,")3719 514 +y("fr)o(eedesktop.or)o(g,")e(or)3719 606 y("Micr)o(osoft.")p +4723 631 V 596 634 4132 4 v 596 634 V 596 853 4 220 v +624 737 a(version)p 2143 853 V 1275 w(STRING)p 3691 853 +V 1238 w(The)j(server)6 b('s)20 b(version)3719 828 y(number)-6 +b(.)p 4723 853 V 596 857 4132 4 v 596 857 V 197 1023 +a +SDict begin H.S end + 197 1023 a 197 1023 a +SDict begin 11 H.A end + 197 1023 a 197 1023 a +SDict begin [ /View [/XYZ H.V] /Dest (signals) cvn H.B /DEST pdfmark +end + 197 1023 +a 596 1274 a Fe(Signals)953 1274 y +SDict begin H.S end + 953 1274 a 953 1274 +a +SDict begin 13.31 H.A end + 953 1274 a 953 1274 a +SDict begin [ /View [/XYZ H.V] /Dest (1.9.2.2) cvn H.B /DEST pdfmark +end + 953 1274 a 197 1297 a +SDict begin H.S end + 197 1297 +a 197 1297 a +SDict begin 11 H.A end + 197 1297 a 197 1297 a +SDict begin [ /View [/XYZ H.V] /Dest (signal-notification-closed) cvn +H.B /DEST pdfmark end + 197 1297 a 596 1526 +a Fd(org.freedesktop.Notific)q(ati)q(ons)q(.No)q(tif)q(icat)q(ion)q +(Clo)q(sed)2957 1526 y +SDict begin H.S end + 2957 1526 a 2957 1526 a +SDict begin 12.1 H.A end + 2957 1526 +a 2957 1526 a +SDict begin [ /View [/XYZ H.V] /Dest (1.9.2.5.3) cvn H.B /DEST pdfmark +end + 2957 1526 a 197 1583 a +SDict begin H.S end + 197 1583 a 197 1583 +a +SDict begin 9.9 H.A end + 197 1583 a 197 1583 a +SDict begin [ /View [/XYZ H.V] /Dest (402) cvn H.B /DEST pdfmark end + 197 1583 a 197 1666 a +SDict begin H.S end + 197 1666 +a 197 1666 a +SDict begin 9.9 H.A end + 197 1666 a 197 1666 a +SDict begin [ /View [/XYZ H.V] /Dest (403) cvn H.B /DEST pdfmark end + 197 1666 a 197 1712 +a +SDict begin H.S end + 197 1712 a 197 1712 a +SDict begin 9.9 H.A end + 197 1712 a 197 1712 a +SDict begin [ /View [/XYZ H.V] /Dest (405) cvn H.B /DEST pdfmark end + 197 1712 +a 596 1783 a Fc(org.freedesktop.Notif)q(ic)q(ati)q(ons)q(.No)q(tif)q +(ica)q(tio)q(nC)q(los)q(ed)2577 1783 y +SDict begin H.S end + 2577 1783 a 2577 +1783 a +SDict begin 9.9 H.A end + 2577 1783 a 2577 1783 a +SDict begin [ /View [/XYZ H.V] /Dest (406) cvn H.B /DEST pdfmark end + 2577 1783 a Fi(\(out)44 +b(UINT32)3115 1783 y +SDict begin H.S end + 3115 1783 a 3115 1783 a +SDict begin 9.9 H.A end + 3115 1783 +a 3115 1783 a +SDict begin [ /View [/XYZ H.V] /Dest (407) cvn H.B /DEST pdfmark end + 3115 1783 a Fb(id)s Fi(,)3297 1783 y +SDict begin H.S end + 3297 +1783 a 3297 1783 a +SDict begin 9.9 H.A end + 3297 1783 a 3297 1783 a +SDict begin [ /View [/XYZ H.V] /Dest (408) cvn H.B /DEST pdfmark end + 3297 1783 +a Fi(out)596 1865 y(UINT32)909 1865 y +SDict begin H.S end + 909 1865 a 909 +1865 a +SDict begin 9.9 H.A end + 909 1865 a 909 1865 a +SDict begin [ /View [/XYZ H.V] /Dest (409) cvn H.B /DEST pdfmark end + 909 1865 a Fb(reason)p Fi(\);)197 +2081 y +SDict begin H.S end + 197 2081 a 197 2081 a +SDict begin 11 H.A end + 197 2081 a 197 2081 a +SDict begin [ /View [/XYZ H.V] /Dest (410) cvn H.B /DEST pdfmark end + 197 +2081 a 596 2172 a Fk(A)17 b(completed)h(noti\002cation)i(is)f(one)f +(that)g(has)h(timed)f(out,)g(or)h(has)f(been)g(dismissed)h(by)f(the)h +(user)-6 b(.)197 2196 y +SDict begin H.S end + 197 2196 a 197 2196 a +SDict begin 11 H.A end + 197 2196 +a 197 2196 a +SDict begin [ /View [/XYZ H.V] /Dest (411) cvn H.B /DEST pdfmark end + 197 2196 a 596 2388 a Fl(T)d(able)19 b(3.)h +(Noti\002cationClosed)d(Return)j(V)-9 b(alues)197 2472 +y +SDict begin H.S end + 197 2472 a 197 2472 a +SDict begin 11 H.A end + 197 2472 a 197 2472 a +SDict begin [ /View [/XYZ H.V] /Dest (413) cvn H.B /DEST pdfmark end + 197 2472 +a 197 2472 a +SDict begin H.S end + 197 2472 a 197 2472 a +SDict begin 11 H.A end + 197 2472 a 197 2472 +a +SDict begin [ /View [/XYZ H.V] /Dest (table.6) cvn H.B /DEST pdfmark +end + 197 2472 a 596 2475 4132 4 v 596 2475 V 596 2603 4 +129 v 624 2579 a Ff(Name)p 2143 2603 V 1321 w(T)k(ype)p +3691 2603 V 1359 w(Description)p 4723 2603 V 596 2607 +4132 4 v 596 2607 V 596 2826 4 220 v 624 2710 a Fa(id)p +2143 2826 V 1447 w Fk(UINT32)p 3691 2826 V 1251 w(The)21 +b(ID)g(of)f(the)h(noti\002cation)3719 2801 y(that)g(was)f(closed.)p +4723 2826 V 596 2829 4132 4 v 596 2829 V 596 3871 4 1042 +v 624 2933 a Fa(reason)p 2143 3871 V 1247 w Fk(UINT32)p +3691 3871 V 1288 w(The)h(r)o(eason)f(the)3735 3024 y(noti\002cation)j +(was)d(closed.)3735 3115 y(1)52 b(-)g(The)h(noti\002cation)h(ex-)3735 +3207 y(pir)o(ed.)3735 3389 y(2)43 b(-)h(The)f(noti\002cation)i(was)3735 +3480 y(dismissed)22 b(by)e(the)h(user)-6 b(.)3735 3663 +y(3)21 b(-)f("Other")h(r)o(easons.)p 4723 3871 V 596 +3874 4132 4 v 596 3874 V 197 3957 a +SDict begin H.S end + 197 3957 a 197 3957 +a +SDict begin 11 H.A end + 197 3957 a 197 3957 a +SDict begin [ /View [/XYZ H.V] /Dest (434) cvn H.B /DEST pdfmark end + 197 3957 a 596 4023 a Fk(The)j(ID)i +(speci\002ed)e(in)i(the)f(signal)g(is)g(invalidated)2238 +4023 y +SDict begin H.S end + 2238 4023 a 2238 4023 a +SDict begin 11 H.A end + 2238 4023 a 2238 4023 +a +SDict begin [ /View [/XYZ H.V] /Dest (435) cvn H.B /DEST pdfmark end + 2238 4023 a Fh(befor)o(e)h Fk(the)f(signal)h(is)f(sent)g(and)g(may)g +(not)g(be)596 4115 y(used)20 b(in)h(any)g(further)f(communications)j +(with)e(the)g(server)-6 b(.)p Black 197 5585 a Fh(10)p +Black eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/docs/notification-spec.xml b/docs/notification-spec.xml new file mode 100644 index 0000000..e0c93d2 --- /dev/null +++ b/docs/notification-spec.xml @@ -0,0 +1,789 @@ + + + + +
+ + Desktop Notifications Specification + Version 0.3 + 28 August 2004 + + + Mike + Hearn + +
+ mike@navi.cx +
+
+
+ + Christian + Hammond + +
+ chipx86@chipx86.com +
+
+
+
+ + + 0.3 + 28 August 2004 + cdh + Added hint and notification type sections + + + 0.2 + foo + mh + Added replaces field to protocol + + + 0.1 + foo + mh + Initial version + + +
+ + + Introduction + + This is a draft standard for a desktop notifications service, through + which applications can generate passive popups (sometimes known as + "poptarts") to notify the user in an asynchronous manner of events. + + + This specification explicitly does not include other types of + notification presentation such as modal message boxes, window manager + decorations or window list annotations. + + + Example use cases include: + + + + + Presence changes in IM programs: for instance, MSN Messenger on + Windows pioneered the use of passive popups to indicate presence + changes. + + + Scheduled alarm + Completed file transfer + New mail notification + Low disk space/battery warnings + + + + + Basic Design + + In order to ensure that multiple notifications can easily be + displayed at once, and to provide a convenient implementation, all + notifications are controlled by a single session-scoped service which + exposes a D-BUS interface. + + + On startup, a conforming implementation should take the + org.freedesktop.Notifications service on + the session bus. This service will be referred to as the "notification + server" or just "the server" in this document. It can optionally be + activated automatically by the bus process, however this is not required + and notification server clients must not assume that it is available. + + + The server should implement the + org.freedesktop.Notifications interface on + an object with the path "/org/freedesktop/Notifications". This is the + only interface required by this version of the specification. + + + A notification has the following components: + + + + Application Name + + + Application name: This is the optional name of the application sending + the notification. This should be the application's formal name, rather + than some sort of ID. + + + + + Application Icon + + + An optional byte array containing the application's icon. + This should be in PNG or GIF formats. + + + + + Application ID + + + An optional byte array containing the application's icon. + This should be in PNG or GIF formats. + + + + + Replaces ID + + + An optional ID of an existing notification that this + notification is intended to replace. + + + + + Notification Type ID + + + An optional ID representing the notification type. See + . + + + + + Urgency Level + + + The urgency of the notification. See . + + + + + Summary + + + This is a single line overview of the notification. For instance, + "You have mail" or "A friend has come online". It should generally + not be longer than 40 characters, though this is not a requirement, + and server implementations should word wrap if necessary. The summary + must be encoded using UTF-8. + + + + + Body + + + This is a multi-line body of text. Each line is a paragraph, server + implementations are free to word wrap them as they see fit. + + + The text may contain simple markup as specified in + . It must be encoded using UTF-8. + + + If the body is omitted just the summary is displayed. + + + + + Images + + + See . + + + + + Sounds + + + See . + + + + + Actions + + + The actions send a request message back to the notification client + when invoked. This functionality may not be implemented by the + notification server, conforming clients should check if it is available + before using it (see the GetCapabilities message in + . An implementation is free to ignore any + requested by the client. As an example one possible rendering of + actions would be as buttons in the notification popup. + + + + + Hints + + + See . + + + + + Expiration Time + + + The timestamp in seconds since the epoch that the notification should + close. For example, if one wishes to have an expiration of 5 seconds + from now, they must grab the current timestamp and add 5 seconds to it. + + + If zero, the notification's expiration time is dependent on the + notification server's settings, and may vary for the type of + notification. + + + The expiration time should be respected by implementations, but this is + not required (this is for compatibility with KNotify). + + + + + + + Each notification displayed is allocated a unique ID by the server. + This is unique within the session. While the notification server is + running, the ID will not be recycled unless the capacity of a uint32 is + exceeded. + + + This can be used to hide the notification before the expiration time + is reached. It can also be used to atomically replace the notification + with another. This allows you to (for instance) modify the contents of + a notification while it's on-screen. + + + + + Backwards Compatibility + + Clients should try and avoid making assumptions about the presentation and + abilities of the notification server. The message content is the most + important thing. + + + Clients can check with the server what capabilities are supported + using the GetCapabilities message. See . + + + If a client requires a response from a passive popup, it should be + coded such that a non-focus-stealing message box can be used instead + and the notification server is only used when available. + + + + + Markup + + Body text may contain markup. The markup is XML-based, and consists + of a small subset of HTML along with a few additional tags. + + + The following tags should be supported by the notification server. + Though it is optional, it is recommended. Notification servers that do + not support these tags should filter them out. + + + + + + + b ... + b + + Bold + + + + i ... + i + + Italic + + + + u ... + u + + Underline + + + + a href="..." ... + a + + Hyperlink + + + + + + + What else do we want here? We're going to want more tags + for sure. + + + + + + Icons and Sounds + + A notification can optionally include an array of images and/or a + single sound. The array of images specifies frames in an animation, + animations always loop. Implementations are free to ignore the + images and sound data, and implementations that support images need not + support animation. + + + If the image array has more than one element, a "primary frame" can + be specified - if not specified it defaults to the first frame. For + implementations that support images but not animation (for instance a + KNotify bridge), only the primary frame will + be used. + + + Each element of the array must have the same type as the first + element, mixtures of strings and blobs are not allowed. The element + types can be one of the following: + + + + + + Element + Type + Description + + + + + Icon Theme Name + String + + Any string that does not begin with the / + character is assumed to be an icon theme name and is looked up + according to the spec. The best size to fit the servers chosen + presentation will be used. This is the recommended way of specifying + images. + + + + Absolute Path + String + + Any string that begins with a / will be used as + an absolute file path. Implementations should support at minimum + files of type image/png and image/svg. + + + + Image Data + Binary Data + + A data stream may be embedded in the message. This is assumed to be + of type image/png. + + + + + + + A sound can be specified, this will be played by the notification + server when the notification is displayed. + Elaborate here! + + + + + Notification Types + Write me! + + + + Urgency Levels + Write me! + + + + Hints + Write me! + + + + D-BUS Protocol + + The following messages must be supported by all + implementations. + + + + Message commands + + + <literal>org.freedesktop.Notifications.GetCapabilities</literal> + + + STRING_ARRAY + org.freedesktop.Notifications.GetCapabilities + + + + + + This message takes no parameters. + + + It returns an array of strings. Each string describes an optional + capability implemented by the server. The following values are + defined by this spec: + + + + + + "body" + + Supports body text. Some implementations may only show the + summary (for instance, onscreen displays, marquee/scrollers) + + + + "markup" + + Supports markup in the body text. If marked up text is sent + to a server that does not give this cap, the markup will show + through as regular text so must be stripped clientside. + + + + "static-image" + + Supports display of exactly 1 frame of any given image array. + This value is mutually exclusive with + "multi-image", it is a protocol error for the + server to specify both. + + + + "multi-image" + + The server will render an animation of all the frames in a given + image array. The client may still specify multiple frames even if + this cap and/or static-image is missing, however the server is + free to ignore them and use only the primary frame. + + + + "sound" + + The server will play the specified sound. Even if this cap is + missing, a sound may still be specified however the server is free + to ignore it. + + + + "actions" + + The server will provide the specified actions to the user. Even if + this cap is missing, actions may still be specified by the client, + however the server is free to ignore them. + + + + + + + New vendor-specific caps may be specified as long as they start with + "x-vendorname". For instance, + "x-gnome-foo-cap". Capability names must not + contain spaces. They are limited to alpha-numeric characters and dashes + ("-"). + + + + + <literal>org.freedesktop.Notifications.Notify</literal> + + + UINT32 + org.freedesktop.Notifications.Notify + + STRING_OR_NIL app_name + BYTE_ARRAY_OR_NIL app_icon + UINT32_OR_NIL replaces_id + STRING_OR_NIL notification_type + BYTE urgency_level + STRING summary + STRING_OR_NIL body + ARRAY images + STRING_OR_NIL sound + DICT_OR_NIL actions + DICT_OR_NIL hints + UINT32_OR_NIL expire_time + + + + Sends a notification to the notification server. + + + Notify Parameters + + + + Name + Type + Description + + + + + app_name + STRING or NIL + + The optional name of the application sending the notification. + + + + app_icon + BYTE_ARRAY or NIL + The optional program icon of the calling application. + + + replaces_id + UINT32 or NIL + + The optional notification ID that this notification replaces. The + server must atomically (ie with no flicker or other visual cues) + replace the given notification with this one. This allows clients to + effectively modify the notification while it's active. + + + + notification_type + STRING or NIL + + The optional notification type ID, for potential server + categorization and logging purposes. See + . + + + + urgency_level + BYTE + The urgency level. See . + + + summary + STRING + The summary text briefly describing the notification. + + + body + STRING or NIL + The optional detailed body text. + + + images + ARRAY or NIL + + The optional array of images. See . + + + + sound + STRING + The optional sound file to play. + + + actions + DICT or NIL + + A dictionary key of actions. Each key is the localized name of the + action, as it should appear to the user, and maps to a UINT32 value + containing a program-specific action code. This code will be reported + back to the program if the action is invoked by the user. + + + + hints + DICT or NIL + + Optional hints that can be passed to the server from the client + program. Although clients and servers should never assume each other + supports any specific hints, they can be used to pass along + information, such as the process PID or window ID, that the server + may be able to make use of. See . + + + + expire_time + UINT32 or NIL + + The notification time-out time, represented as UNIX-time (seconds + since the epoch). If this is NIL, the notification + will never time out, and will only be closed when an action is + invoked. If non-NIL, this will specify a time at which the notification + will be automatically closed. If zero, the server's default + expiration time will be used. + + + + +
+ + If replaces_id is NIL, the return value is a + UINT32 that represent the notification. It is unique, and will not be + reused unless a MAXINT number of notifications + have been generated. An acceptable implementation may just use an + incrementing counter for the ID. The returned ID is always greater than + zero. Servers must make sure not to return zero as an ID. + + + If replaces_id is not NIL, the returned value + is the same value as replaces_id. + +
+ + + <literal>org.freedesktop.Notifications.CloseNotification</literal> + + + BOOLEAN + org.freedesktop.Notifications.CloseNotification + + UINT32 id + + + + Causes a notification to be forcefully closed and removed from the user's + view. It can be used, for example, in the event that what the + notification pertains to is no onger relevant, or to cancel a + notification with no expiration time. + + + The NotificationClosed signal is emitted by this + method. + + + This returns TRUE if the notification was closed. + If the notification didn't exist, this will return + FALSE. This can happen if the notification already + expired or was closed, or if the ID was simply invalid. + + + + + <literal>org.freedesktop.Notifications.GetServerInformation</literal> + + + + void + org.freedesktop.Notifications.GetServerInformation + + out STRING name + out STRING vendor + out STRING version + + + + This message returns the information on the server. Specifically, + the server name, vendor, and version number. + + + GetServerInformation Return Values + + + + Name + Type + Description + + + + + name + STRING + The product name of the server. + + + vendor + STRING + + The vendor name. For example, "KDE," "GNOME," + "freedesktop.org," or "Microsoft." + + + + version + STRING + The server's version number. + + + +
+
+
+ + + Signals + + + <literal>org.freedesktop.Notifications.NotificationClosed</literal> + + + + org.freedesktop.Notifications.NotificationClosed + + UINT32 id + UINT32 reason + + + + A completed notification is one that has timed out, or has been + dismissed by the user. + + + NotificationClosed Return Values + + + + Name + Type + Description + + + + + id + UINT32 + The ID of the notification that was closed. + + + reason + UINT32 + + The reason the notification was closed. + 1 - The notification expired. + 2 - The notification was dismissed by the user. + 3 - "Other" reasons. + + + + +
+ + The ID specified in the signal is invalidated + before the signal is sent and may not be used + in any further communications with the server. + +
+
+
+