anchor.diff:      F.Editor.Update;
     end;
   
  -  Tick:= GetTickCount64;
  -  if (Tick-FLastAppActivate)>500 then //workaround for too many calls in LCL
  -  begin
  -    FLastAppActivate:= Tick;
  -    SetLength(Params, 0);
  -    DoPyEvent(nil, cEventOnAppDeactivate, Params);
  -  end;
  +  DoPyEvent_AppActivate(cEventOnAppDeactivate);
   end;
   
   procedure TfmMain.AppPropsEndSession(Sender: TObject);
  
positive.code:     property ThemeUi: string write SetThemeUi;
      property ThemeSyntax: string write SetThemeSyntax;
      function DoPyEvent(AEd: TATSynEdit; AEvent: TAppPyEvent; const AParams: TAppVariantArray): TAppPyEventResult;
      procedure DoPyCommand(const AModule, AMethod: string; const AParams: TAppVariantArray);
      function DoPyTreeHelper(Frame: TEditorFrame): boolean;
      function DoPyLexerDetection(const Filename: string; Lexers: TStringList): integer;
  
negative.code:   DoTooltipHide;
  end;
  
  procedure TfmMain.DoPyEvent_AppActivate(AEvent: TAppPyEvent);
  var
    Tick: QWord;
    Params: TAppVariantArray;
  begin
    Tick:= GetTickCount64;
    if (Tick-FLastAppActivate)>500 then //workaround for too many calls in LCL, on Ubuntu 20.04
    begin
      FLastAppActivate:= Tick;
      SetLength(Params, 0);
      DoPyEvent(nil, AEvent, Params);
    end;
  end;
  
  procedure TfmMain.AppPropsActivate(Sender: TObject);
  var
    F: TEditorFrame;
  begin
    if EditorOps.OpShowCurLineOnlyFocused then
    begin
  