Difference between revisions of "Improve multi-monitor support"

From Eclipsepedia

Jump to: navigation, search
(Bugs)
m (Detached Windows: cat)
 
(23 intermediate revisions by one user not shown)
Line 1: Line 1:
 
Project Lead: Benjamin Muskalla (IRC: benny`work)
 
Project Lead: Benjamin Muskalla (IRC: benny`work)
  
Mentor: Kim Horne (IRC: Pookilla)
+
Mentor: Kim Horne (IRC: Pookzilla)
  
 
This project is part of the [[Google Summer of Code 2007]]
 
This project is part of the [[Google Summer of Code 2007]]
Line 11: Line 11:
  
 
==Primary goals==
 
==Primary goals==
=====Legend=====
+
===Legend===
 
[[Image:Glass.gif]] Needs some investigation
 
[[Image:Glass.gif]] Needs some investigation
  
Line 20: Line 20:
  
  
=====Bugs=====
+
===Bugs===
  
[[Image:Glass.gif]] Add the ability to have multiple detached views in a single view stack. This would provide symmetry with the standard workbench window itself (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=151510 bug 151510]).
+
[[Image:Progress.gif]] Add the ability to have multiple detached views in a single view stack. This would provide symmetry with the standard workbench window itself. As this is a big change in the codebase, several issues are covered by the following bug reports:
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=151510 Bug 151510] [DetachedView] Multi Monitor support: sash-based detached windows
 +
** It's in a good state, restoring Detached Windows from Trims is not yet possible
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=56625 Bug 56625] [Workbench] Hide Perspective Bar
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=120910 Bug 120910] [DetachedViews] Independent top-level windows lack full system menu
 +
Besides these, there is a good chance to implement other features more easily with the replacement of DetachedWindow with a light version of the WorkbenchWindow (think of detached editors, toolbars in detached windows, new min/max story).
  
[[Image:Glass.gif]] Improve detached views by fixing bugs and making the use of them more comfortable (see all bugs starting with [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=Platform&content=%5BDetachedViews%5D “DetachedViews”], especially things like remembering the last position of a view - see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=105329 bug 105329] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=80266 bug 80266]).
 
  
[[Image:Progress.gif]] Add to SWT the ability to have so-called “fullscreen” shells (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=37031 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=171398 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 [http://en.wikipedia.org/wiki/Kiosk_software Kiosk software])
+
[[Image:Progress.gif]] Improve detached views by fixing bugs and making the use of them more comfortable (see all bugs starting with [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=Platform&content=%5BDetachedViews%5D “DetachedViews”], especially things like remembering the last position of a view - see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=105329 bug 105329] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=80266 bug 80266]).
* [[Image:Ok_green.gif]] GTK implementation
+
* [[Image:Glass.gif]] Win32 implementation
+
* [[Image:Glass.gif]] Carbon implementation
+
* [[Image:Progress.gif]] Workbench command
+
  
[[Image:Glass.gif]] Fix bugs on the platform which are related to multi monitor setups (such as [https://bugs.eclipse.org/bugs/show_bug.cgi?id=174545 bug 174545]).
+
[[Image:Ok_green.gif]] Add to SWT the ability to have so-called “fullscreen” shells (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=37031 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=171398 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 [http://en.wikipedia.org/wiki/Kiosk_software Kiosk software])
 +
* [[Image:Ok_green.gif]] GTK implementation (attached and waiting for feedback) (done)
 +
* [[Image:Ok_green.gif]] Win32 implementation (attached and waiting for feedback) (done)
 +
* [[Image:Ok_green.gif]] Win Vista WPF implementation (done)
 +
* [[Image:Ok_green.gif]] Carbon implementation (done)
 +
* [[Image:Ok_green.gif]] Workbench handler
 +
** [[Image:Ok_green.gif]] Show message dialog to remember the user how to get back into normal mode. Option to never show the dialog again
 +
** [[Image:Ok_green.gif]] Add trim to emulate window decorations (min/restore/close)
 +
** [[Image:Progress.gif]] Open it up to let developers contribute their own stuff with the org.eclipse.ui.menus extension point
 +
** [[Image:Progress.gif]] Add possibility to let the user/developer define what is visible in fullscreen mode
 +
 
 +
[[Image:Glass.gif]] Fix bugs on the platform which are related to multi monitor setups.
 +
* [[Image:Ok_green.gif]] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=166544 Bug 166544] [Wizards] WizardDialog fills the width of the screen on GTK
  
 
==Secondary goals==
 
==Secondary goals==
Line 38: Line 50:
  
 
[[Image:Glass.gif]] Floating toolbars similar to those seen in OpenOffice (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=179043 bug 179043]).
 
[[Image:Glass.gif]] Floating toolbars similar to those seen in OpenOffice (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=179043 bug 179043]).
 +
 +
==Source code==
 +
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 [http://eclipse-incub.cvs.sourceforge.net/eclipse-incub/multi-monitor-enhancements/ multi-monitor-enhancements].
 +
 +
Don't worry if there are patches which are not already attached to a bug report - there is work in progress.
 +
 +
===Fullscreen mode===
 +
 +
You need to checkout the following projects from eclipse CVS (see [[CVS Howto]]) in order to play with the patches:
 +
* org.eclipse.ui
 +
* org.eclipse.ui.ide
 +
* org.eclipse.ui.workbench
 +
 +
You need an eclipse build > N20070818-0010 or SWT from CVS to have built-in fullscreen support for SWT shells.
 +
 +
Then apply the patches and run a new eclipse launch configration with these plugins. With Ctrl+F11 you can switch between normal and fullscreen mode.
 +
Alternatively, you can use the ''Window | Fullscreen'' menu item.
 +
 +
===Detached Windows===
 +
For very early-adopters and to gain some feedback I put a patch regarding sash-based detached views online. You can find it in the <code>detached_windows</code> directory in CVS.
 +
 +
The only thing to test the patch is to checkout <code>org.eclipse.ui.workbench</code> from Eclipse CVS and apply the patch.
 +
 +
[[Category:SOC]]

Latest revision as of 17:36, 14 October 2007

Project Lead: Benjamin Muskalla (IRC: benny`work)

Mentor: Kim Horne (IRC: Pookzilla)

This project is part of the Google Summer of Code 2007

Contents

[edit] About

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.

[edit] Primary goals

[edit] Legend

Glass.gif Needs some investigation

Progress.gif Patch in progress

Ok green.gif Bug fixed / Feature added


[edit] Bugs

Progress.gif Add the ability to have multiple detached views in a single view stack. This would provide symmetry with the standard workbench window itself. As this is a big change in the codebase, several issues are covered by the following bug reports:

  • Bug 151510 [DetachedView] Multi Monitor support: sash-based detached windows
    • It's in a good state, restoring Detached Windows from Trims is not yet possible
  • Bug 56625 [Workbench] Hide Perspective Bar
  • Bug 120910 [DetachedViews] Independent top-level windows lack full system menu

Besides these, there is a good chance to implement other features more easily with the replacement of DetachedWindow with a light version of the WorkbenchWindow (think of detached editors, toolbars in detached windows, new min/max story).


Progress.gif 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).

Ok green.gif 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)

  • Ok green.gif GTK implementation (attached and waiting for feedback) (done)
  • Ok green.gif Win32 implementation (attached and waiting for feedback) (done)
  • Ok green.gif Win Vista WPF implementation (done)
  • Ok green.gif Carbon implementation (done)
  • Ok green.gif Workbench handler
    • Ok green.gif Show message dialog to remember the user how to get back into normal mode. Option to never show the dialog again
    • Ok green.gif Add trim to emulate window decorations (min/restore/close)
    • Progress.gif Open it up to let developers contribute their own stuff with the org.eclipse.ui.menus extension point
    • Progress.gif Add possibility to let the user/developer define what is visible in fullscreen mode

Glass.gif Fix bugs on the platform which are related to multi monitor setups.

  • Ok green.gif Bug 166544 [Wizards] WizardDialog fills the width of the screen on GTK

[edit] Secondary goals

Glass.gif Implement floating editor windows (bug 8886).

Glass.gif Floating toolbars similar to those seen in OpenOffice (see bug 179043).

[edit] Source code

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.

[edit] Fullscreen mode

You need to checkout the following projects from eclipse CVS (see CVS Howto) in order to play with the patches:

  • org.eclipse.ui
  • org.eclipse.ui.ide
  • org.eclipse.ui.workbench

You need an eclipse build > N20070818-0010 or SWT from CVS to have built-in fullscreen support for SWT shells.

Then apply the patches and run a new eclipse launch configration with these plugins. With Ctrl+F11 you can switch between normal and fullscreen mode. Alternatively, you can use the Window | Fullscreen menu item.

[edit] Detached Windows

For very early-adopters and to gain some feedback I put a patch regarding sash-based detached views online. You can find it in the detached_windows directory in CVS.

The only thing to test the patch is to checkout org.eclipse.ui.workbench from Eclipse CVS and apply the patch.