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:
- The visual window on the desktop
- The task bar button
- 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
- The first screen that will be present will show one category named "Windows" that includes all the opening processes at the current moment.
- 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.
- 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.
- 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.
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.
- The application saves the tree categories when the application is closed and loads them in the next startup.
Using the Code
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
WindowsTreeManager
: Control the TreeView
item and signed to its events (mouse click, drag&drop, etc.).
CategoryNode
, WindowNode
, RootNode
: Inherits from TreeNode
can be added to a TreeView
.
WindowNode
- holds a WindowTreeNodeDataItem
.
CategoryNode
- represents a category in the tree.
3.2 The Window Folder Main Classes
1. The classes that represent visual appearance of Windows
IWindow
: The interface contains the signature of get
's methods for the window properties.
IInteractiveWindow
: The interface contains the signature of methods that represent the functionality of a window.
Window
: The class holds the properties of a Window.
InteractiveWindow
: Inherits- IWindow
(window properties) and IInteractiveWindow
(functionality).
InteractiveWindowCollection
and InteractiveWindowCollectionManager
collect and manage a collection of InteractiveWindow
s.
2. The classes that provide the API interface
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