public void SwitchFocusedMonitorToMouseLocation() { Logger.Debug("SwitchFocusedMonitorToMouseLocation"); var loc = Control.MousePosition; var screen = Screen.FromPoint(new Point(loc.X, loc.Y)); var monitor = _context.MonitorContainer.GetMonitorAtPoint(loc.X, loc.Y); _context.MonitorContainer.FocusedMonitor = monitor; FocusedMonitorUpdated?.Invoke(); }
public void SwitchFocusToPreviousMonitor() { var focusedMonitor = _context.MonitorContainer.FocusedMonitor; var targetMonitor = _context.MonitorContainer.GetPreviousMonitor(); if (focusedMonitor != targetMonitor) { _context.MonitorContainer.FocusedMonitor = targetMonitor; FocusedWorkspace.FocusLastFocusedWindow(); FocusedMonitorUpdated?.Invoke(); } }
public void SwitchFocusedMonitor(int index) { Logger.Debug("SwitchFocusedMonitor({0})", index); var focusedMonitor = _context.MonitorContainer.FocusedMonitor; if (index < _context.MonitorContainer.NumMonitors && index >= 0) { var monitor = _context.MonitorContainer.GetMonitorAtIndex(index); if (focusedMonitor != monitor) { _context.MonitorContainer.FocusedMonitor = monitor; FocusedWorkspace.FocusLastFocusedWindow(); FocusedMonitorUpdated?.Invoke(); } } }
public void MoveFocusedWindowToPreviousMonitor() { Logger.Debug("MoveFocusedWindowToPreviousMonitor"); var window = FocusedWorkspace.FocusedWindow; var focusedMonitor = _context.MonitorContainer.FocusedMonitor; var targetMonitor = _context.MonitorContainer.GetPreviousMonitor(); var targetWorkspace = _context.WorkspaceContainer.GetWorkspaceForMonitor(targetMonitor); if (window != null && targetWorkspace != null) { FocusedWorkspace.RemoveWindow(window); targetWorkspace.AddWindow(window); _windowsToWorkspaces[window] = targetWorkspace; WindowMoved?.Invoke(window, FocusedWorkspace, targetWorkspace); if (focusedMonitor != targetMonitor) { _context.MonitorContainer.FocusedMonitor = targetMonitor; window.Focus(); FocusedMonitorUpdated?.Invoke(); } } }