anchor.diff:    AProperty: TAtom; Count: Integer; Windows: PWindow);
   begin
     XChangeProperty(FDisplay, AWindow, AProperty, XA_WINDOW, 32, PropModeReplace, Pointer(Windows), Count);
  +end;
  +
  +function TNETWindowLayer.WindowGetPropertyUTF8(const AWindow: TWindow;
  +  AProperty: TAtom; var ALength: Integer; var UTF8Text: String): Boolean;
  +var
  +  atomtype: TAtom;
  +  format: cint;
  +  nitems: culong;
  +  bytes_after: culong;
  +  Utf8Str: PChar;
  +begin
  +  Result := False;
  +  XGetWindowProperty (FDisplay, AWindow, AProperty, 0, MaxInt, False, XA_ATOM, @atomtype, @format, @nitems,
  +             @bytes_after, @Utf8Str);
  +
  +  if (atomtype = XA_WINDOW) and (format = 32) then begin
  +    Result := True;
  +    UTF8Text := Copy(Utf8Str, 0, nitems);
  +    ALength := nitems;
  +  end;
  +  if nitems > 0 then XFree(Utf8Str);
  +end;
  +
  +procedure TNETWindowLayer.WindowSetPropertyUTF8(const AWindow: TWindow;
  +  AProperty: TAtom; ALength: Integer; UTF8Text: String);
  +begin
  +  XChangeProperty(FDisplay, AWindow, AProperty, UTF8_STRING, 8, PropModeReplace, @UTF8Text[1], ALength);
   end;
   
   function TNETWindowLayer.WindowGetPropertyCardinal(const AWindow: TWindow;
  
positive.code:     FDisplay: PXDisplay;
      FRootWindow: TWindow;
      FNetAtoms: array[TNetAtomEnum] of TNetAtom;
      FAtomSupported: array[TNetAtomEnum] of Boolean;
      FTimeStamp: LongInt;
      procedure InitNetAtoms;
  
negative.code:     procedure   WindowSetPropertyCardinal(const AWindow: TWindow; AProperty: TAtom; Count: Integer; Cards: PLongInt);
      function    WindowGetPropertyWindow(const AWindow: TWindow; AProperty: TAtom; var Count: Integer; var Windows: PWindow): Boolean;
      procedure   WindowSetPropertyWindow(const AWindow: TWindow; AProperty: TAtom; Count: Integer; Windows: PWindow);
      function    WindowGetPropertyUTF8(const AWindow: TWindow; AProperty: TAtom; var ALength: Integer; var UTF8Text: String): Boolean;
      procedure   WindowSetPropertyUTF8(const AWindow: TWindow; AProperty: TAtom; ALength: Integer; UTF8Text: String);
  
      constructor Create(ADisplay: PXDisplay);
      destructor  Destroy; override;
  