* BWindow::SendBehind(NULL) will now send the window to back.
* Added shortcuts ctrl-alt-F to get a window to front, and ctrl-alt-b to move it to the back. * Updated the user guide with these shortcuts, and also explained the missing "single click to bring window to front" behaviour. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34108 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
2ecfe97e37
commit
289d85d2ac
@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"../../html-dtd/xhtml1-strict.dtd">
|
||||
"../../html-dtd/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
|
||||
<head>
|
||||
<!--
|
||||
<!--
|
||||
*
|
||||
* Copyright 2008, Haiku. All rights reserved.
|
||||
* Copyright 2008-2009, Haiku. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
@ -45,14 +45,15 @@
|
||||
<ol>
|
||||
<li><p>The Deskbar is Haiku's "Start" menu and taskbar, if you will. See topic <a href="deskbar.html">Deskbar</a>.</p></li>
|
||||
<li>The yellow tab offers more than just a program's name or a document's filename:
|
||||
<ul><li>You can move it by holding the <span class="key">SHIFT</span> key while dragging it to another position, enabling you to stack a number of windows and conveniently access them by their named tab.</li>
|
||||
<ul><li>A single click will bring the window to front in case it is not yet there (you can achieve the same by using <span class="key">CTRL</span> <span class="key">ALT</span> <span class="key">F</span>).</li>
|
||||
<li>You can move it by holding the <span class="key">SHIFT</span> key while dragging it to another position, enabling you to stack a number of windows and conveniently access them by their named tab.</li>
|
||||
<li>You minimize a window with a double-click on its tab (or with <span class="key">CTRL</span> <span class="key">ALT</span> <span class="key">M</span>). A such hidden window can be accessed by its entry in the <a href="deskbar.html">Deskbar</a> or the <a href="twitcher.html">Twitcher</a>.</li>
|
||||
<li>You can send a window to the back with a right-click on its tab (or its border).</li></ul></li>
|
||||
<li>You can send a window to the back with a right-click on its tab (or its border, or with <span class="key">CTRL</span> <span class="key">ALT</span> <span class="key">B</span> alternatively).</li></ul></li>
|
||||
<li><p>The close button.</p></li>
|
||||
<li><p>The "alternative size" button (or <span class="key">CTRL</span> <span class="key">ALT</span> <span class="key">Z</span>). In most applications, this will expand a window to maximum size. It doesn't have to, however. Tracker windows, for example, will resize to best fit the contents.</p></li>
|
||||
<li><p>The resize corner. Dragging anywhere else on a window's border will move the window.</p></li>
|
||||
</ol>
|
||||
<div class="box-info">While holding <span class="key">CTRL</span> <span class="key">ALT</span>, you can click anywhere into a window to move it with the left mouse button; the right mouse button sends it to the back.</div>
|
||||
<div class="box-info">While holding <span class="key">CTRL</span> <span class="key">ALT</span>, you can click anywhere into a window to bring it to front, or click and hold to move it with the left mouse button; the right mouse button sends it to the back.</div>
|
||||
|
||||
<h1>
|
||||
<a href="#logo"><img src="../images/up.png" align="right" alt="index" border="0" class="noprint" /></a>
|
||||
|
@ -64,6 +64,8 @@
|
||||
|
||||
#define _MINIMIZE_ '_WMZ'
|
||||
#define _ZOOM_ '_WZO'
|
||||
#define _SEND_BEHIND_ '_WSB'
|
||||
#define _SEND_TO_FRONT_ '_WSF'
|
||||
#define _SWITCH_WORKSPACE_ '_SWS'
|
||||
|
||||
|
||||
@ -594,11 +596,11 @@ BWindow::Minimize(bool minimize)
|
||||
status_t
|
||||
BWindow::SendBehind(const BWindow* window)
|
||||
{
|
||||
if (!window || !Lock())
|
||||
if (!Lock())
|
||||
return B_ERROR;
|
||||
|
||||
fLink->StartMessage(AS_SEND_BEHIND);
|
||||
fLink->Attach<int32>(_get_object_token_(window));
|
||||
fLink->Attach<int32>(window != NULL ? _get_object_token_(window) : -1);
|
||||
fLink->Attach<team_id>(Team());
|
||||
|
||||
status_t status = B_ERROR;
|
||||
@ -884,6 +886,14 @@ BWindow::DispatchMessage(BMessage* msg, BHandler* target)
|
||||
Zoom();
|
||||
break;
|
||||
|
||||
case _SEND_BEHIND_:
|
||||
SendBehind(NULL);
|
||||
break;
|
||||
|
||||
case _SEND_TO_FRONT_:
|
||||
Activate();
|
||||
break;
|
||||
|
||||
case _SWITCH_WORKSPACE_:
|
||||
{
|
||||
int32 deltaX = 0;
|
||||
@ -2708,6 +2718,10 @@ BWindow::_InitData(BRect frame, const char* title, window_look look,
|
||||
new BMessage(_ZOOM_), NULL);
|
||||
AddShortcut('H', B_COMMAND_KEY | B_CONTROL_KEY,
|
||||
new BMessage(B_HIDE_APPLICATION), NULL);
|
||||
AddShortcut('F', B_COMMAND_KEY | B_CONTROL_KEY,
|
||||
new BMessage(_SEND_TO_FRONT_), NULL);
|
||||
AddShortcut('B', B_COMMAND_KEY | B_CONTROL_KEY,
|
||||
new BMessage(_SEND_BEHIND_), NULL);
|
||||
|
||||
// Workspace modifier keys
|
||||
BMessage* message;
|
||||
|
@ -665,13 +665,13 @@ ServerWindow::_DispatchMessage(int32 code, BPrivate::LinkReceiver& link)
|
||||
|
||||
link.Read<int32>(&token);
|
||||
if (link.Read<team_id>(&teamID) == B_OK) {
|
||||
::Window *behindOf = fDesktop->FindWindowByClientToken(token,
|
||||
::Window* behindOf = fDesktop->FindWindowByClientToken(token,
|
||||
teamID);
|
||||
|
||||
DTRACE(("ServerWindow %s: Message AS_SEND_BEHIND %s\n",
|
||||
Title(), behindOf ? behindOf->Title() : "NULL"));
|
||||
Title(), behindOf != NULL ? behindOf->Title() : "NULL"));
|
||||
|
||||
if (behindOf != NULL) {
|
||||
if (behindOf != NULL || token == -1) {
|
||||
fDesktop->SendWindowBehind(fWindow, behindOf);
|
||||
status = B_OK;
|
||||
} else
|
||||
|
Loading…
Reference in New Issue
Block a user