History log of /haiku/src/servers/app/decorator/DefaultWindowBehaviour.cpp
Revision Date Author Comments
# 773d5303 19-Jul-2018 Tri-Edge AI <triedgeai@gmail.com>

app_server: Implement B_OUTLINE_RESIZE

- Allows applications to be resized without the window contents resizing with the window frame.
- Due to the nature of out-of-tree decorators using private APIs, this will require all pre-existing decorators to be rebuilt
- Newer decorators won't work on older versions of Haiku...
- Also has some formatting with license headers.
- Fixes #2724

Change-Id: Id0b45e7bbc0b636e6dffbd396eb584bf348b5296
Reviewed-on: https://review.haiku-os.org/c/haiku/+/344
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jacob Secunda <secundaja@gmail.com>


# 779ab335 09-Dec-2020 X512 <danger_mail@list.ru>

use .IsSet() instead if .Get() != NULL

Change-Id: Ia2b7a719fd398e78cc3b11d4f7b02cb81179f65f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3488
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# d99d8dbd 27-Aug-2020 X512 <danger_mail@list.ru>

app_server memory management: use ObjectDeleter to mark ownership

Make object ownership explicit by use of ObjectDeleter where possible.

Change-Id: I499a00aa3390d1510ae284419e73faffa5166430
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2695
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 75504052 10-Jan-2017 John Scipione <jscipione@gmail.com>

DefaultWindowBehavior: Emulate right click and middle click

... based on mouse type setting in Mouse Preferences.

for (default) 3 button mouse, nothing changes. #important

for 1 button mouse,
emulate right click by ctrl+click. This replicates Tracker
behavior everwhere

for 2 button mouse,
add todo to emulate middle click by pushing both buttons at
the same time. Unfortunately I was unsucessful getting this
feature to work.

Change-Id: I5377ed5b4967483096f7f185f434bced3f86cdb9
Reviewed-on: https://review.haiku-os.org/c/303
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# d5b6133b 09-Jan-2017 John Scipione <jscipione@gmail.com>

App Server: style fixes

80 char limit
spaces => tabs
fix spelling/grammar problems in comment


# 4cf48a7a 26-Dec-2016 John Scipione <jscipione@gmail.com>

App Server: Style fixes to DefaultWindowBehaviour

...take 2.

Replace 0.0f with 0 as per discussion on -commits
Break long line differently
Remove extra whitespace at the beginning of a line


# 8f449285 14-Dec-2016 John Scipione <jscipione@gmail.com>

App Server DefaultWindowBehaviour: style fixes only

Compare bitmasks against 0 explicitly
Replace integer constant 0 with floating point constant 0.0f

No logic reversals I promise


# 98b326dd 28-Jan-2013 Adrien Destugues <pulkomandy@gmail.com>

Revert Ctrl+Alt resizing/moving changes.
This removes the solution with no convincing replacement,
and breaks most basic window management tasks such as raising a window when clicking it.

Please come back when you get the issues fixed and a real alternative to the "ugly" border highlighting.

This reverts hrev45197-45202.


# 79fd9dac 25-Jan-2013 John Scipione <jscipione@gmail.com>

Check kAcceptKeyboardFocusFlag first.


# 70171c26 25-Jan-2013 John Scipione <jscipione@gmail.com>

A few changes to make this more robust.

I am able to get stuck in window management mode without ctrl+alt
held down somehow but it's not reproducable. These changes should
hopefully make this a bit more robust.


# ae883c5f 24-Jan-2013 John Scipione <jscipione@gmail.com>

Reset cursor if kAcceptKeyboardFocusFlag is set.

This basically affects menus which are not movable, and not
resizable but have that flag set because they take input anyway.
This change shows the regular cursor over menu windows even
in window management mode when ctrl+alt are held down.

Also rename _SetNowAllowedCursor to _SetNotAllowedCursor, typo.


# 5a0b5a5d 24-Jan-2013 John Scipione <jscipione@gmail.com>

Update the mouse cursor in a couple more cases


# 65b9235d 24-Jan-2013 John Scipione <jscipione@gmail.com>

Fix gcc4 build by adding parens


# feb6002c 24-Jan-2013 John Scipione <jscipione@gmail.com>

Look at resize flags when setting resize arrows


# 3071859c 16-Jan-2013 John Scipione <jscipione@gmail.com>

Update ctrl+alt window management functionality.

* Use double-headed resize arrows instead of single headed.
* Remove border highlighting, it is replaced by mouse cursor.
* Don't enter drag state if window is not movable.
* Make Ctrl+LMB resize window border like RMB.
* Define other 3 corners in default decorator and resize by them
as well
* Update mouse cursor to show arrows when over borders and control
is held.
* Set the move cursor on ctrl+alt if the window is movable.
* Set cursor to not allowed on ctrl+alt if window is not movable.
* Set the cursor to appropriate resize arrow on ctrl+alt+RMB.
* Set the cursor to not allowed on ctrl+alt+RMB if not resizable.
* Make window go to back when you right-click or ctrl+click
on the tab. It doesn't lose focus though unlike BeOS R5.


# f4f30311 24-Jul-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Cleanup app server directory a bit by creating a font and a decorator sub folder.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 98b326dd2e1b54a35ee493d6bcfacf652b860a5b 28-Jan-2013 Adrien Destugues <pulkomandy@gmail.com>

Revert Ctrl+Alt resizing/moving changes.
This removes the solution with no convincing replacement,
and breaks most basic window management tasks such as raising a window when clicking it.

Please come back when you get the issues fixed and a real alternative to the "ugly" border highlighting.

This reverts hrev45197-45202.


# 79fd9dac6ca77831d161aaa6c0b0976e1507f0f1 25-Jan-2013 John Scipione <jscipione@gmail.com>

Check kAcceptKeyboardFocusFlag first.


# 70171c2634284513118df15f152d0763a5be195f 25-Jan-2013 John Scipione <jscipione@gmail.com>

A few changes to make this more robust.

I am able to get stuck in window management mode without ctrl+alt
held down somehow but it's not reproducable. These changes should
hopefully make this a bit more robust.


# ae883c5f1597be8a7098bfab659b43251839998f 24-Jan-2013 John Scipione <jscipione@gmail.com>

Reset cursor if kAcceptKeyboardFocusFlag is set.

This basically affects menus which are not movable, and not
resizable but have that flag set because they take input anyway.
This change shows the regular cursor over menu windows even
in window management mode when ctrl+alt are held down.

Also rename _SetNowAllowedCursor to _SetNotAllowedCursor, typo.


# 5a0b5a5d521e8d4b3e106f98198d0c27132a9ddc 24-Jan-2013 John Scipione <jscipione@gmail.com>

Update the mouse cursor in a couple more cases


# 65b9235d19ff2d85e3a7a20c0661e8813d9a7da0 24-Jan-2013 John Scipione <jscipione@gmail.com>

Fix gcc4 build by adding parens


# feb6002cf8f48ac846a98a6dd6730f3711d34c8b 24-Jan-2013 John Scipione <jscipione@gmail.com>

Look at resize flags when setting resize arrows


# 3071859cc6842d96fa086771c9463085ea0f2246 16-Jan-2013 John Scipione <jscipione@gmail.com>

Update ctrl+alt window management functionality.

* Use double-headed resize arrows instead of single headed.
* Remove border highlighting, it is replaced by mouse cursor.
* Don't enter drag state if window is not movable.
* Make Ctrl+LMB resize window border like RMB.
* Define other 3 corners in default decorator and resize by them
as well
* Update mouse cursor to show arrows when over borders and control
is held.
* Set the move cursor on ctrl+alt if the window is movable.
* Set cursor to not allowed on ctrl+alt if window is not movable.
* Set the cursor to appropriate resize arrow on ctrl+alt+RMB.
* Set the cursor to not allowed on ctrl+alt+RMB if not resizable.
* Make window go to back when you right-click or ctrl+click
on the tab. It doesn't lose focus though unlike BeOS R5.


# f4f30311aab9b2768d3ef7e590f85598298edfe0 24-Jul-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Cleanup app server directory a bit by creating a font and a decorator sub folder.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96