<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="copyright"
  content="Copyright (c) Eclipse contributors and others 2014. This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page." />
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="default_style.css" charset="ISO-8859-1" type="text/css" />
<style type="text/css">
table.news td {
  border-top: solid thin black;
}

table.news tr {
  vertical-align: top;
}

table.news tr td.section {
  font-size: 20px;
  font-weight: bold;
}

table.news tr td.title {
  vertical-align: top;
  width: 30%;
  font-weight: bold;
}

table.news tr td.content {
  vertical-align: top;
  width: 70%;
}
</style>
<title>Eclipse Project Luna - New and Noteworthy</title>
</head>

<body>
  <h2>Platform and Equinox</h2>

  <!-- ****************** START OF N&N TABLE ****************** -->
  <table class="news" cellpadding="10" cellspacing="0">
    <tbody>
      <tr id="split-editors">
        <td class="title">Split editors</td>
        <td class="content">Do you ever find yourself working in a large file and need to view or edit multiple sections at once? <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8009">Finally</a>,
          Eclipse supports split editors! You can now split / unsplit the currently active editor. Just use one of the new key bindings supplied in Luna:
          <ul>
            <li><b>Ctrl+_</b> splits the editor one above the other</li>
            <li><b>Ctrl+{</b> splits the editor side by side</li>
            <li>Re-applying the command to an already split editor reverts it to only have one pane.</li>
          </ul>
          <p>
            <img src="images/split_editors.png" alt="" />
          </p>
          <p>
            Try it out on <i>your</i> favorite editor!
          </p>
        </td>
      </tr>

      <tr id="darktheme">
        <td class="title">Dark theme</td>
        <td class="content">A new dark window theme has been introduced. This popular community theme demonstrates the power of the underlying Eclipse 4 styling engine. You can enable it from the
          <b>General &gt; Appearance</b> preference page. Plug-ins can contribute extensions to this theme to style their own specific views and editors to match the window theme.
          <p>
            <img src="images/darktheme.png" alt="" />
          </p>
        </td>
      </tr>

      <tr id="quick-access">
        <td class="title">Quick access as a popup</td>
        <td class="content">If you find the <b>Quick Access</b> field in the toolbar takes up too much space, you can now hide it. From the context menu in the toolbar, select <b>Hide</b>.
          <p>
            <img src="images/quick-access-hide.png" alt="Hiding quick access" />
          </p>
          <p>
            Once hidden, pressing <b>Ctrl+3</b> will instead show a popup dialog.
          </p>
          <p>
            <img src="images/quick-access-dialog.png" alt="Quick access dialog" />
          </p>
        </td>
      </tr>


      <tr id="minimized-stack-option">
        <td class="title">New layout for minimized views</td>
        <td class="content">Minimized views now have two different display modes:
          <ul>
            <li>Use Overlays: This is the current mode where showing a minimized view opens it in a 'fly out', overlaying part of the main window.</li>
            <li>Show in the Original Location: This is a new mode that will temporarily put the stack back into the perspective while one of its views is active. This has the advantage that the
              minimized view won't overlay anything in the current presentation (e.g. your editor...).</li>
          </ul>
          <p>
            To access the new mode, right-click on the <b>Restore</b> button of a minimized stack and select the <b>Show in the Original Location</b> menu item (see image below). Note that this change
            is global, so once it's set, all minimized views will use the selected mode.
          </p>
          <p>
            <img src="images/restore-btn.png" alt="" />
          </p>

          <p>Here's what the current mode looks like:</p>
          <p>
            <img src="images/use-overlays.png" alt="" />
          </p>
          <p>Here's what the new mode looks like. Note how the editor has been pushed to the right rather than being obscured:</p>
          <p>
            <img src="images/no-overlays.png" alt="" />
          </p>
          <p>
            We're really interested in your feedback on this! The initial response has been positive enough that we're considering making the non-overlay mode the default. What do you think? (Post
            your comments <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=426556">here</a>).
          </p>
        </td>
      </tr>

      <tr id="reorder-perspectives">
        <td class="title">Perspective re-ordering</td>
        <td class="content">You can now drag and drop the items in the perspective switcher to change the order of your open perspectives.
          <p>
            <img src="images/move-persp-items.png" alt="moveitems" />
          </p>
        </td>
      </tr>

      <tr id="protect-option">
        <td class="title">New protection options for Eclipse</td>
        <td class="content">A new launcher parameter named <b>-protect</b> has been introduced and it accepts the following values:
          <ul>
            <li><b>-protect root</b> can be used to prevent Eclipse from being started as a root user, either directly or via programs that run with administrative privileges like 'sudo'. This
              option is currently implemented only on Linux/UNIX based platforms.</li>
            <li><b>-protect master</b> can be used to prevent starting of the master instance in a shared install configuration. This option can be used on all platforms supported by Eclipse.</li>
          </ul>
          <p>
            The above options can either be set in the launcher's <b>.ini</b> file or can be used directly from the command line (e.g eclipse -protect root).
          </p>
        </td>
      </tr>

      <tr id="signed-executables">
        <td class="title">Signed SDK Executables (for Windows and Mac)</td>
        <td class="content">We now provide signed Windows and Mac executables for the Eclipse SDK. This gets rid of those operating system warnings about running untrusted software, and saves you
          from having to disable "Gatekeeper" or other security measures to run Eclipse.</td>
      </tr>

      <tr id="import-filter-conflicts">
        <td class="title">Filter conflicting projects during import</td>
        <td class="content">When importing existing projects, you can now filter out any conflicting projects (projects that are already present in your workspace).
          <p>
            <img src="images/import-filter-conflicts-before.png" alt="filter conflicting projects" />
          </p>
        </td>
      </tr>

      <tr id="import-as-project">
        <td class="title">Import as Project</td>
        <td class="content">In the <b>Project Explorer</b>, a folder that contains a <code>.project</code> file and whose related project isn't already in the workspace now shows an <b>Import
            as Project</b> context menu entry that imports the folder into the workspace as an existing project.
          <p>
            <img src="images/import-as-project.png" alt="" />
          </p>
        </td>
      </tr>

      <tr id="show-in-system-explorer">
        <td class="title">Show In System Explorer</td>
        <td class="content">If you select a resource and right click, there is now a <b>Show In &gt; System Explorer</b> context menu entry that will open the folder containing that resource in
          your system's file explorer.
          <p>
            <img src="images/shown-in-system-explorer.png" alt="menu popup with Show In System Explorer" />
          </p> The command for launching the system explorer can be configured on the <strong>General &gt; Workspace</strong> preference page.
        </td>
      </tr>

      <tr id="launch-options">
        <td class="title">Updated launch options</td>
        <td class="content">The default preference for the fall-back behavior of context-sensitive launching has been changed to launch the previous application.
          <p>
            <img src="images/launch-options.png" alt="" />
          </p>
          <p>Existing workspaces that use the "Always launch the previously launched application" option are not affected by this change.</p>
        </td>
      </tr>

      <tr id="ant-view-collapse-all">
        <td class="title">Collapse All in Ant view</td>
        <td class="content">The Ant view now supports the <b>Collapse All</b> command:
          <p>
            <img src="images/ant-view.png" alt="The Ant view showing the collapse all action" />
          </p>
        </td>
      </tr>

      <tr id="ide-icons">
        <td class="title">Platform icons converted to png files</td>
        <td class="content">Based on a community contribution, lots of of the existing GIF icons in the Eclipse platform have been replaced by PNG icons. This makes Eclipse icons look better on a
          dark background, as for example the toolbar on Mac OS X or on a dark theme.
          <p>
            <img src="images/iconupdate.png" alt="New platform icons" />
          </p>
        </td>
      </tr>

      <tr id="appmodel-perspective">
        <td class="title">Support for dynamic icon changes</td>
        <td class="content">The workbench now supports dynamically changing icons at runtime. This means that workbench themes (such as the dark theme), can introduce different icons, and these
          changes will take effect without requiring a restart.</td>
      </tr>

      <tr id="os-ubuntu">
        <td class="title">Ubuntu menu integration</td>
        <td class="content">In cooperation with Canonical, the Eclipse Platform team has been working on improving the presentation of Eclipse menus in Ubuntu, which had problems in Ubuntu 13.04
          and 13.10. These problems are now resolved in Ubuntu 14.04, where Eclipse menus now display nicely.</td>
      </tr>

      <tr id="swt-xulrunner24">
        <td class="title">SWT Browser now supports XULRunner 24.x</td>
        <td class="content">An SWT Browser created with style <code>SWT.MOZILLA</code> can now be used with the XULRunner 24.x runtime.
        </td>
      </tr>

      <tr id="set-gtk-version">
        <td class="title">Set the GTK+ version to be used by Eclipse via the launcher</td>
        <td class="content">The launcher parameter <b>--launcher.GTK_version</b> can now be used to choose which version of GTK+ will be used by Eclipse on Linux. The acceptable values are:
          <ul>
            <li><b>2</b> for GTK+ 2.x</li>
            <li><b>3</b> for GTK+ 3.x</li>
          </ul>
          <p>
            Note that setting the GTK+ version via this parameter takes precedence over setting the SWT_GTK3 environment variable. See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=434619">bug
              434619</a> for more details.
          </p>
        </td>
      </tr>

      <!-- ****************** END OF N&N TABLE ****************** -->
    </tbody>
  </table>

  <p align="center">
    <font color="#808080">Previous</font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="eclipse-news-part2.html">Next</a>
  </p>
</body>
</html>
