Exemple #1
0
 private static void OnWindowDestroy(object sender, WindowEventArgs args)
 {
     if (WindowDestroy != null) {
         WindowDestroy(sender, args);
     }
 }
Exemple #2
0
 public static void OnWindowFocusChange(object sender, WindowEventArgs args)
 {
     if (WindowFocusChange != null) {
         WindowFocusChange(sender, args);
     }
 }
Exemple #3
0
 private static void OnWindowCreate(object sender, WindowEventArgs args)
 {
     if (WindowCreate != null) {
         WindowCreate(sender, args);
     }
 }
Exemple #4
0
 private void Manager_WindowFocusChange(object sender, WindowEventArgs args)
 {
     Redraw();
 }
Exemple #5
0
 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();
         }
     }
 }
Exemple #6
0
 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;
         }
     }
 }
Exemple #7
0
 void Manager_WindowFocusChange(object sender, WindowEventArgs args)
 {
     if (GetEnabledTags().Count > 1) {
         int focussedTag = GetFocussedTag();
         if (focussedTag != -1) {
             _activeTag = focussedTag;
         }
     }
 }
Exemple #8
0
 private void Manager_WindowDestroy(object sender, WindowEventArgs args)
 {
     Bar.Redraw();
 }