Improve multi-monitor support
Project Lead: Benjamin Muskalla (IRC: benny`work)
Mentor: Kim Horne (IRC: Pookzilla)
This project is part of the Google Summer of Code 2007
With the price of computer monitors dropping, more and more people choose to work in a multi-monitor environment. Working in this way can be very helpful when there are large quantities of information you need to process at one time. One of the best examples: software development. Working on projects in Eclipse on a dual or triple screen display is possible – but not that efficient as with other IDEs out there. Though useful, detached views become difficult to work with when you have many of them. Detaching multiple views (to move to to another screen) is an easy task – but to arrange them, you need to do it manually. It should be possible to have the same functionality that is exposed in the workbench: sashes!
Another common task for an application today is a fullscreen mode. As seen in other development environments, this can help to concentrate on the source code itself instead of being distracted by all the views, icons and other things around the editor area. Also, the size of the editor component can be improved by disabling the toolbar, statusbar and window border in fullscreen mode. This is not only useful with multi monitor setups but also for single monitor environments.
Add the ability to have multiple detached views in a single view stack. This would provide symmetry with the standard workbench window itself (see bug 151510).
Improve detached views by fixing bugs and making the use of them more comfortable (see all bugs starting with “DetachedViews”, especially things like remembering the last position of a view - see bug 105329 and bug 80266).
Add to SWT the ability to have so-called “fullscreen” shells (see bug 37031 -minimally have implementations for Windows and GTK, and possibly Mac OS X). Once implemented in SWT this new feature would be added to the workbench (see bug 171398). This would allow for fullscreen editor/standard view shell arrangements in the IDE and allow RCP developers have the option to deploy “kiosk”-like RCP applications.(see Kiosk software)
- GTK implementation
- Win32 implementation
- Carbon implementation
- Workbench handler
Fix bugs on the platform which are related to multi monitor setups (such as bug 174545).
Implement floating editor windows (bug 8886).
Floating toolbars similar to those seen in OpenOffice (see bug 179043).
As the most features are already known by existing bug reports, the easiest way to distribute my code is to attach patches to the according bug reports. Just to have a quick overview of what I've done so far - see multi-monitor-enhancements.
Don't worry if there are patches which are not already attached to a bug report - there is work in progress.
At the moment, only the GTK+ (> 2.2) implementation of fullscreen shells and the workbench handler is available in CVS. Win32 is coming soon because I need to fix some bugs first. You need to checkout the following projects from eclipse CVS (see CVS Howto) in order to play with the patches:
Then apply the patches, build swt and run a new workbench. With Ctrl+F11 you can switch between normal and fullscreen mode. Alternatively, you can use the Window | Fullscreen menu item.