Example #1
0
        /// <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);
        }
Example #2
0
 /// <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)));
 }