void ShowTime(int ShowAlways) { static SYSTEMTIME lasttm= {}; if (ShowAlways==2) { ClearStruct(lasttm); return; } if (Global->ScreenSaverActive) return; SYSTEMTIME tm; FAR_CHAR_INFO colon; GetLocalTime(&tm); GetText(ScrX-4+2,0,ScrX-4+2,0,&colon,sizeof(colon)); if (!ShowAlways && lasttm.wMinute==tm.wMinute && lasttm.wHour==tm.wHour && colon.Char==L':') return; Global->ProcessShowClock++; lasttm=tm; string strClockText = str_printf(L"%02d:%02d",tm.wHour,tm.wMinute); GotoXY(ScrX-4,0); Frame *CurFrame = Global->FrameManager->GetTopModal(); if (CurFrame) { int ModType=CurFrame->GetType(); SetColor(ModType==MODALTYPE_VIEWER?COL_VIEWERCLOCK:(ModType==MODALTYPE_EDITOR?COL_EDITORCLOCK:COL_CLOCK)); Text(strClockText); } Global->ProcessShowClock--; }