Beispiel #1
0
        private void Update()
        {
            if (_settings.Disabled || _view.AnimationRunning)
            {
                return;
            }

            if ((App.IsMuted || _settings.IsMuted()) && !_settings.IgnoreMute)
            {
                Hide(checkHideStatus: false, checkIdleStatus: false);
                return;
            }

            if (!_settings.FullscreenActivation &&
                FullScreenHelper.DoesMonitorHaveFullscreenApp(_view.ViewModel.GetActualScreenBounds(), _view.ThisApp))
            {
                _showTimer.Stop();
                _hideTimer.Stop();
                Hide(false, false, false);
                return;
            }

            if (QueueIntro != null && !App.IsWorkstationLocked)
            {
                _view.ShowIntro(QueueIntro);
                return;
            }

            if (_settings.OpenMode == OpenMode.AlwaysOpen || KeepOpenForIntro)
            {
                Show();
                return;
            }

            if (_settings.DetectIdle && KeepOpenUntilIdle)
            {
                if (!_view.IsIdle)
                {
                    Show();
                }
                else
                {
                    Hide();
                }
                return;
            }

            if (_settings.OpenMode == OpenMode.Hidden)
            {
                Hide();
                return;
            }

            UpdateVisibilityStatus();
        }