private static void OnWindowDestroy(object sender, WindowEventArgs args) { if (WindowDestroy != null) { WindowDestroy(sender, args); } }
public static void OnWindowFocusChange(object sender, WindowEventArgs args) { if (WindowFocusChange != null) { WindowFocusChange(sender, args); } }
private static void OnWindowCreate(object sender, WindowEventArgs args) { if (WindowCreate != null) { WindowCreate(sender, args); } }
private void Manager_WindowFocusChange(object sender, WindowEventArgs args) { Redraw(); }
private void Manager_WindowDestroy(object sender, WindowEventArgs args) { Window newWindow = (Window) sender; IEnumerable<Window> deleteList = (from window in _windowList where window.handle == newWindow.handle select window); if (deleteList.Count() > 0) { Window toRemove = deleteList.First(); _windowList.Remove(toRemove); Manager.Log("Removing window: {0} {1}".With(toRemove.ClassName, toRemove.Title), 1); layout.UpdateWindowList(_windowList); if (parent.IsTagEnabled(tag)) { AssertLayout(); } } }
private void Manager_WindowCreate(object sender, WindowEventArgs args) { bool rulesThisMonitor = false; int monitorPosition = Convert.ToInt32(Manager.settings.ReadSettingOrDefault(-1, "General.Monitor.DefaultMonitor")); List<int> tagsToOpenOn = new List<int>(); foreach (KeyValuePair<WindowMatch, WindowRule> keyValuePair in Manager.windowRules) { if (keyValuePair.Key.windowMatches((Window) sender)) { if (keyValuePair.Value.rule == WindowRules.monitor) { if (keyValuePair.Value.data < Manager.monitors.Count && keyValuePair.Value.data >= 0) { if (Manager.monitors[keyValuePair.Value.data].Name == _parent.Name) { rulesThisMonitor = true; } else { return; } } } if (keyValuePair.Value.rule == WindowRules.tag) { if (_parent.screens.Count() >= keyValuePair.Value.data) { tagsToOpenOn.Add(keyValuePair.Value.data - 1); } } } } string monitorNameToOpenOn; if (monitorPosition == -1) { //no preference, grab the monitor the window opened on monitorNameToOpenOn = args.monitor.DeviceName; } else { monitorNameToOpenOn = Manager.monitors[monitorPosition].Screen.DeviceName; } if (!tagsToOpenOn.Contains(_tag) && tagsToOpenOn.Count > 0) { return; } Window newWindow = (Window) sender; if ((monitorNameToOpenOn == _parent.Name || rulesThisMonitor) && (_parent.IsTagEnabled(_tag) || tagsToOpenOn.Contains(_tag))) { if (_parent.GetActiveTag() == _tag || tagsToOpenOn.Contains(_tag)) { CatchWindow(newWindow); } Manager.Log("Adding Window: " + newWindow.ClassName + " " + newWindow, 1); layout.UpdateWindowList(_windowList); if (_parent.IsTagEnabled(_tag)) { AssertLayout(); } else if ((from tag in tagsToOpenOn where _parent.GetFocussedTag() == tag select tag).Count() == 0) { newWindow.Visible = false; } } }
void Manager_WindowFocusChange(object sender, WindowEventArgs args) { if (GetEnabledTags().Count > 1) { int focussedTag = GetFocussedTag(); if (focussedTag != -1) { _activeTag = focussedTag; } } }
private void Manager_WindowDestroy(object sender, WindowEventArgs args) { Bar.Redraw(); }