/// <summary> /// Destroy desktop and switch to <fallback> /// </summary> /// <param name="fallback"></param> public void Remove(VirtualDesktop fallback = null) { IVirtualDesktop fallbackdesktop; if (fallback == null) { // if no fallback is given use desktop to the left except for desktop 0. VirtualDesktop dtToCheck = new VirtualDesktop(DesktopManager.GetDesktop(0)); if (this.Equals(dtToCheck)) { // desktop 0: set fallback to second desktop (= "right" desktop) DesktopManager.VirtualDesktopManagerInternal.GetAdjacentDesktop(_VirtualDesktop, 4, out fallbackdesktop); // 4 = RightDirection } else { // set fallback to "left" desktop DesktopManager.VirtualDesktopManagerInternal.GetAdjacentDesktop(_VirtualDesktop, 3, out fallbackdesktop); // 3 = LeftDirection } } else { // set fallback desktop fallbackdesktop = fallback._VirtualDesktop; } DesktopManager.VirtualDesktopManagerInternal.RemoveDesktop(_VirtualDesktop, fallbackdesktop); }
/// <summary> /// Create desktop object from a VirtualDesktop at index 0..Count-1 /// </summary> /// <param name="index"></param> /// <returns></returns> public static VirtualDesktop FromIndex(int index) { return(new VirtualDesktop(DesktopManager.GetDesktop(index))); }