Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Desktop Manager Application

0.00/5 (No votes)
23 May 2010 1  
Manage your desktop mess and create a virtual desktop

Introduction

Sometimes users have too many windows open on the desktop and too many taskbar buttons and it become very difficult to work like this. In UNIX, there are 4 desktops that you can separate your open applications between. In Windows, there isn't a built-in solution, but you can make one.

This application allows you to control your processes' window's visual appearance while using windows operation system. By saying "visual appearance", I mean:

  1. The visual window on the desktop
  2. The task bar button
  3. The indication on the "Application" tab in the Windows Task Manager

The application allows you to divide the windows to categories and to control the categories as a separate unit.

Operation

  1. The first screen that will be present will show one category named "Windows" that includes all the opening processes at the current moment.

    _____1.png

  2. Clicking on one of the items in the tree will hide all the visual appearances of the process and will change the text from black to grey.
  3. Right clicking on the "Windows" Category will allow you to open a new category or to Toggle all the open windows in "Windows" category. The Toggle menu item will allow hide/show all the visual appearances of the window.

    _____2.png

  4. After adding up new categories, you can drag&drop windows to the categories and even add sub categories to them.

    In this example, I have created two categories under "Windows", "Desktop-1" and "Desktop-2" and one sub category under "Desktop-1" named "Sub Category".

    Under each one of these categories, I have added some process' windows.

    _____3.png

    These categories can be treated as visual desktops. By clicking Toggle all on one of the categories, all the visual appearances of the process windows under them will be hidden. Clicking again on the toggle all menu item will show all the visual appearance again.

  5. The application saves the tree categories when the application is closed and loads them in the next startup.

Using the Code

_____4.png

The code is separated to two main folders, the Tree folder that holds classes that control the tree view maintenance and the tree view different items and the Windows folder that holds classes that control the collection of the open windows.

3.1 The Tree Folder Main Classes

_____5.png

  1. WindowsTreeManager: Control the TreeView item and signed to its events (mouse click, drag&drop, etc.).
  2. CategoryNode, WindowNode, RootNode: Inherits from TreeNode can be added to a TreeView.

WindowNode - holds a WindowTreeNodeDataItem.

CategoryNode - represents a category in the tree.

_____6.png

3.2 The Window Folder Main Classes

1. The classes that represent visual appearance of Windows

_____7.png

  1. IWindow: The interface contains the signature of get's methods for the window properties.
  2. IInteractiveWindow: The interface contains the signature of methods that represent the functionality of a window.
  3. Window: The class holds the properties of a Window.
  4. InteractiveWindow: Inherits- IWindow (window properties) and IInteractiveWindow (functionality).
  5. InteractiveWindowCollection and InteractiveWindowCollectionManager collect and manage a collection of InteractiveWindows.

_____8.png

2. The classes that provide the API interface

_____9.png

Points of Interest

The writers are two students in the Academic college of Tel Aviv Jaffa in Israel.

We will be more than happy to get comments about our work.

History

  • 24th May, 2010: Initial post

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here