History log of /haiku/src/apps/deskbar/Switcher.cpp
Revision Date Author Comments
# 9c274ccd 28-Feb-2024 Pascal Abresch <nep-git@packageloss.eu>

Document new rgb_color apis, apply their usage.

Change-Id: I48f1bedd3abfb3b445c1c7090ce43504bcff4537
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7485
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# abd18fec 25-Sep-2023 Zardshard <0azrune6@zard.anonaddy.com>

Deskbar: Fix compilation error

This error only occurs when compiling a debug build. It was introduced
with commit fb885767b6f

Change-Id: I80b470df3872b5bdd8690f65b3d14388158be8ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6951
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# fb1d071e 05-May-2023 John Scipione <jscipione@gmail.com>

Deskbar: Increase Twitcher team icon size from 32 to 48

Change-Id: Id9029295314f0d52df2f4a71a2ce3142f46a0947
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6414
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# a656120f 05-May-2023 John Scipione <jscipione@gmail.com>

Deskbar: Center Twitcher window 1/16 screen height above center line

Change-Id: Ia829f9077afc0a12cb34d12b1cd8eccea2bba741
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6413
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# fb885767 04-May-2023 John Scipione <jscipione@gmail.com>

Deskbar: Use hvif window icons & scale with font

Add vector rdefs for shown, hidden, shown switch
and hidden switch icons. Remove unused bitmap
resources. Add window switch vector icons to
artwork.

Create window icon cache in TBarApp and cache the
window icons based on font size.
Fixes memory leak in #18357.

Don't draw off-workspace lines in Switcher, use
switch icon for that instead. Fixes crash reported
in #18359. Position icon and window name better in
Switcher.

Put BarTeamInfo icon parameter last and make it
optional, the icon gets set by caching.

Enable team icon cache and window icon cache.

Fixes #14694

Deskbar: Scale Twitcher icons based on font size

Remove the point ctor parameter and deprecate the
switcherLoc setting by not using or setting it and
leaving it at its default value.

Center window on screen resolution change and
workspace change (as resolution may not match).

Fixes #17924

Change-Id: Ib63cc307f14cda397ffb66ea74091be59e6e5535
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6335
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 69bbd7ad 05-May-2023 John Scipione <jscipione@gmail.com>

Deskbar: style fixes only

Change-Id: Ia5a94ded518a9b55aac94a69bcd393338bf90ebc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6411
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 47ba82bf 08-Sep-2018 Augustin Cavalier <waddlesplash@gmail.com>

Deskbar: Add missing NULL check in SwitchWindow().

All other functions in this file that locate the TTeamGroup via FindTeam()
do a NULL check afterwards, so the fact that this one did not just looks
like an oversight.

Fixes #14457.


# 16c10517 09-Dec-2015 looncraz <looncraz@looncraz.net>

Deskbar: Convert to using Set*UIColor.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0076 from looncraz, unmodified.


# c9363f78 19-Feb-2015 John Scipione <jscipione@gmail.com>

Deskbar: Truncate menu item labels refactor

* Create a new TTruncatableMenuItem class to store the truncated string
and share the label truncation code between TTeamMenuItem and
TWindowMenuItem. In the future more shared code may be added to
this class, if so, the class name may change.
* The TTeamMenuItem and TWindowMenuItem classes inherit from
TTruncatableMenuItem, which inherits from BMenuItem.
* Make sure to truncate the label before drawing it in all cases.
* Some other related refactoring.

Fixes #9507


# 3aeed660 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949


# 30e6af93 17-Apr-2013 John Scipione <jscipione@gmail.com>

Eliminate background app and Deskbar app checks

This is a follow up on the fix for #9632.

Now that the group list in Deskbar never deals with background apps or the Deskbar app itself we can simplify the code by eliminating the checks, especially in Switcher.cpp (Twitcher).

Checking for background apps and Deskbar has also been eliminated from TExpandoMenuBar and TTeamMenu. The single point of entry for these checks is in TBarApp::AddTeam().

In Switcher.cpp remove OKToUse() since the list is assumed to contain only valid entries. TSwitchManager::CountVisibleGroups() also got removed because all groups are visible. TSwitchManager::_FindNextValidApp(), TSwitchManager::QuitApp(), TIconView::ItemAtPoint(), TIconView::ScrollTo(), and TIconView::FrameOf() all got simplified significantly.


# 45fec7fc 15-Apr-2013 John Scipione <jscipione@gmail.com>

Check for empty group list in _FindNextValidApp(). Fixes #9632

Thanks mmlr! I went with "The easiest solution". Perhaps the OKToUse() could be simplified by removing the checks for background apps and Deskbar but I prefer to keep it as is in case there someone changes the code in the future.


# 6e22ba05 15-Apr-2013 John Scipione <jscipione@gmail.com>

Style update


# 9f2cce2f 06-Apr-2013 John Scipione <jscipione@gmail.com>

Eliminate repeating CountItems() loop premature micro-optimization

Loop backwards if possible, if not, set a variable and use that instead.
There were a couple of instances where the loop style got changed from
for (int32 i = CountItems(); --i >= 0;)
to
for (int32 i = CountItems() - 1; i >= 0; i--) {
but should be functionally equivalent.


# e9632898 09-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Added Tracker and Deskbar to x86_64 build.


# 1cd61330 02-May-2012 John Scipione <jscipione@gmail.com>

Style fixes including reordering #include's in Deskbar

* Reorder includes according to the Style Guide.
* Whitespace changes, mostly making sure there are 2 newlines
between things and making sure there is 1 newline at the end of
each file.
* Make end of header files all in the style of
#endif\t/* _HEADER_GAURD_H_ */
* The one change that is not purely style is to #include <Path.h>
in DeskbarUtils.h instead of DeskbarUtils.cpp because it is used
to define entry_ref for the AddRefsToDeskbarMenu() prototype.


# 1687edd0 06-Mar-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Final set of style cleanup patches by John Scipione as part of #7052.


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


# f9d7564f 24-Feb-2011 Jonas Sundström <jonas@kirilla.com>

* CID 9830, 9829, 9828 UNINIT_CTOR
* CID 8959 STRING_OVERFLOW
* CID 6787 SECURE_CODING

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


# f1684e34 22-Aug-2010 Rene Gollent <anevilyak@gmail.com>

Fix a logic hole that would result in hidden teams being visible in switcher (sans icon) on ctrl+~. Fixes #4290.



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


# 7dbb668d 01-Dec-2009 Philippe Saint-Pierre <stpere@gmail.com>

Switcher : Use the B_OP_COPY draw mode to clear the icon's background
during the animation, rather than B_OP_ALPHA. This avoids a darker
background than supposed when you cycle through the icons.



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


# a76b231c 18-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleanup.


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


# 99113e07 19-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed Twitcher's arrow drawing glitches as described in ticket #4704.
* Unfortunately, there are remaining issues, but this is something I need to
discuss with Stippi: B_OP_COPY does not work as expected due to anti-aliasing
anymore, but there is no replacement one could possibly use to get the desired
effect without having to clear the background every time.


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


# 71bd3ba5 30-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Removing ifdefs and code for non-Haiku build targets. Partial clean-up. Enforcing the 80-char limit, renaming constants, newline at end of file.

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


# 290c9039 29-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Partial clean-up. Asterisks and k-prefix constants.

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


# 177e7305 19-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Incremental progress in improving the Twitcher:
- Remove '`' and '~' keyboard shortcuts from DoKey as those will no longer be
processed there (they are processed at a higher level.)
- Make shortcut for previous app '1' (same behavior as the left cursor key.)
This required adding B_UNMAPPED_KEY_DOWN to MessageReceived since it is actually
Ctrl-1 that is being pressed (which is unmapped in our default keymap.)
- Make the processing of Ctrl-~ (or `) cycle through the windows when the
Twitcher window is showing. This is to mimic the behavior when the Twitcher
window is never shown. There is still a bug though: the order of the switching
changes after the Twitcher window is shown. Why do we have both CycleWindow and
SwitchWindow methods in TSwitchManager? The changing of order seems to be due
to the use of SwitchWindow instead of CycleWindow. I suppose this is for the
day when we implement quick window switching?


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


# 87da7984 19-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Contrl-~ now switches between application windows. This is handier than the
mechanism used in BeOS, that is to press Control+Option-Tab (which didn't
work on Haiku, though).
* Did not change the window switch logic, though, so it's still not really
nice.


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


# 9dfbf311 04-Jul-2009 Ryan Leavengood <leavengood@gmail.com>

Having the delay for showing the Switcher window based on the keyboard delay
seemed odd to me. The default settings made it feel too slow in coming up, and
even the fastest settings still felt awkward. So after some trial and error I
came up with a reasonable default that feels nice to me.


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


# a107d167 19-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Made the get_token_list() function behave the same way as under BeOS. This
simplifies the code in the Switcher, but has the drawback that the window
list is not "static" anymore, ie. the items in the window list of the Deskbar
will now jump around as in BeOS.
* However, EasyMove now works under Haiku as well out of the box, if that is
something we want :)
* Maybe we should instead add another parameter to the window list to make
it sorted or not; sorting the list as it's done now is much simpler and
faster on the server.


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


# c2177fe8 19-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* The Switcher now "remembers" the first app when doing a quick switch over
more than one application, so that will be the next app to switch to for the
next switch.
* This solution is not entirely perfect, though, as it needs to visually bring
the first app to front inbetween to work.


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


# 0b0a2ca6 18-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Style cleanup.


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


# 94c366d2 18-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed some obvious misbehaviour of the switcher.


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


# b31df46f 12-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* The window title now uses B_TRUNCATE_MIDDLE instead of *_END.
* Cleanup.


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


# b8beeb35 12-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* The Switcher now uses the new application/window order functions to sort
the application/window lists before using them.
* This means that you can now switch just between the two topmost apps when
pressing Control-Tab. If you press it fast enough, it will fall back to the
old method of iterating through all apps.
* Only define the private BeOS window management API for BeOS itself, for
Haiku, better use the private WindowInfo.h header.
* Changed BeOS's window_info structure to match how Haiku does it (improved
naming, separation between client_window_info and window_info).
* Whitespace cleanup.


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


# 6524effd 22-May-2008 François Revol <revol@free.fr>

Fix style.


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


# dfd39d8b 21-May-2008 François Revol <revol@free.fr>

Fix "may be uninitialized" warnings. Not sure we want black there though.


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


# f6742aab 13-Jan-2008 Jérôme Duval <korli@users.berlios.de>

whitespaces => tab


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


# 04d7b50b 25-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

Added shortcut 'h' to the Switcher to hide applications.


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


# 6677ea87 05-Jun-2007 Jonas Sundström <jonas@kirilla.com>

Makes Switcher icons draw with alpha transparency from the start as well.

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


# 10da8181 18-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

* Moved non-public classes into the source file.
* Fixed vector icon drawing under Haiku; but it might now look strange in non-32 bit
modes (background gets a slightly different color, but this might be an app_server
bug).
* Got rid of the TSwitchManager::IdleTime()/Touch() stuff.
* Key repetitions are now accepted in the switcher, only the first (tab) key repetition
to bring up the window is not.
* Cleanup.


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


# 59deaf10 11-Sep-2006 Stephan Aßmus <superstippi@gmx.de>

various changes to improve integration of vector icons
* Deskbar uses 32 bit icons now
* vector icons are now correctly converted to B_CMAP8 bitmaps
if no B_CMAP8 icon is available
* small fixes in Tracker (window mode menu)


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


# 7da06231 01-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Imported Deskbar from OpenTracker-current.


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


# 41281cf3 22-May-2005 Axel Dörfler <axeld@pinc-software.de>

Added Tracker and Deskbar from OpenTracker-current to the repository.
They both build fine.


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


# c9363f78d67001545182ce032918648ccb3d6e16 19-Feb-2015 John Scipione <jscipione@gmail.com>

Deskbar: Truncate menu item labels refactor

* Create a new TTruncatableMenuItem class to store the truncated string
and share the label truncation code between TTeamMenuItem and
TWindowMenuItem. In the future more shared code may be added to
this class, if so, the class name may change.
* The TTeamMenuItem and TWindowMenuItem classes inherit from
TTruncatableMenuItem, which inherits from BMenuItem.
* Make sure to truncate the label before drawing it in all cases.
* Some other related refactoring.

Fixes #9507


# 3aeed6607cd07762c0e709633c012b3a632dbad9 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949


# 30e6af93e4ae245281e73a10e5ffcbd94ce38dc8 17-Apr-2013 John Scipione <jscipione@gmail.com>

Eliminate background app and Deskbar app checks

This is a follow up on the fix for #9632.

Now that the group list in Deskbar never deals with background apps or the Deskbar app itself we can simplify the code by eliminating the checks, especially in Switcher.cpp (Twitcher).

Checking for background apps and Deskbar has also been eliminated from TExpandoMenuBar and TTeamMenu. The single point of entry for these checks is in TBarApp::AddTeam().

In Switcher.cpp remove OKToUse() since the list is assumed to contain only valid entries. TSwitchManager::CountVisibleGroups() also got removed because all groups are visible. TSwitchManager::_FindNextValidApp(), TSwitchManager::QuitApp(), TIconView::ItemAtPoint(), TIconView::ScrollTo(), and TIconView::FrameOf() all got simplified significantly.


# 45fec7fc746243bd97c8656ddf7460330d35085b 15-Apr-2013 John Scipione <jscipione@gmail.com>

Check for empty group list in _FindNextValidApp(). Fixes #9632

Thanks mmlr! I went with "The easiest solution". Perhaps the OKToUse() could be simplified by removing the checks for background apps and Deskbar but I prefer to keep it as is in case there someone changes the code in the future.


# 6e22ba05d6929855019922a8617d0a53976250cc 15-Apr-2013 John Scipione <jscipione@gmail.com>

Style update


# 9f2cce2faaddd7b08af1458bf56aadaed8179a3f 06-Apr-2013 John Scipione <jscipione@gmail.com>

Eliminate repeating CountItems() loop premature micro-optimization

Loop backwards if possible, if not, set a variable and use that instead.
There were a couple of instances where the loop style got changed from
for (int32 i = CountItems(); --i >= 0;)
to
for (int32 i = CountItems() - 1; i >= 0; i--) {
but should be functionally equivalent.


# e963289800007e623f4a120b27e7bd476230f57f 09-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Added Tracker and Deskbar to x86_64 build.


# 1cd61330ecd8257551d58f204332d00145c855ec 02-May-2012 John Scipione <jscipione@gmail.com>

Style fixes including reordering #include's in Deskbar

* Reorder includes according to the Style Guide.
* Whitespace changes, mostly making sure there are 2 newlines
between things and making sure there is 1 newline at the end of
each file.
* Make end of header files all in the style of
#endif\t/* _HEADER_GAURD_H_ */
* The one change that is not purely style is to #include <Path.h>
in DeskbarUtils.h instead of DeskbarUtils.cpp because it is used
to define entry_ref for the AddRefsToDeskbarMenu() prototype.


# 1687edd0fde594cd6f7c88f58a264c4787b4327d 06-Mar-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Final set of style cleanup patches by John Scipione as part of #7052.


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


# f9d7564f1d59a333572b0a4f6ac29c495e70093c 24-Feb-2011 Jonas Sundström <jonas@kirilla.com>

* CID 9830, 9829, 9828 UNINIT_CTOR
* CID 8959 STRING_OVERFLOW
* CID 6787 SECURE_CODING

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


# f1684e3466cbcc6ec6b56e1320b3fa1ac5fa39df 22-Aug-2010 Rene Gollent <anevilyak@gmail.com>

Fix a logic hole that would result in hidden teams being visible in switcher (sans icon) on ctrl+~. Fixes #4290.



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


# 7dbb668dca65ffc8963d6b5cf525e23cf1b2e3b1 01-Dec-2009 Philippe Saint-Pierre <stpere@gmail.com>

Switcher : Use the B_OP_COPY draw mode to clear the icon's background
during the animation, rather than B_OP_ALPHA. This avoids a darker
background than supposed when you cycle through the icons.



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


# a76b231c98d0ee0239fd43f5a4fa273eb46180fc 18-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleanup.


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


# 99113e07df769dce66c0bd44ccc8f6b3d7c303ff 19-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed Twitcher's arrow drawing glitches as described in ticket #4704.
* Unfortunately, there are remaining issues, but this is something I need to
discuss with Stippi: B_OP_COPY does not work as expected due to anti-aliasing
anymore, but there is no replacement one could possibly use to get the desired
effect without having to clear the background every time.


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


# 71bd3ba59c06b130115c3ddd44457d8f9dd78997 30-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Removing ifdefs and code for non-Haiku build targets. Partial clean-up. Enforcing the 80-char limit, renaming constants, newline at end of file.

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


# 290c903985a449fa86c501366b6fcddf7f55b46a 29-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Partial clean-up. Asterisks and k-prefix constants.

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


# 177e7305571470b5dbafbe0ee570425eb56d74a3 19-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Incremental progress in improving the Twitcher:
- Remove '`' and '~' keyboard shortcuts from DoKey as those will no longer be
processed there (they are processed at a higher level.)
- Make shortcut for previous app '1' (same behavior as the left cursor key.)
This required adding B_UNMAPPED_KEY_DOWN to MessageReceived since it is actually
Ctrl-1 that is being pressed (which is unmapped in our default keymap.)
- Make the processing of Ctrl-~ (or `) cycle through the windows when the
Twitcher window is showing. This is to mimic the behavior when the Twitcher
window is never shown. There is still a bug though: the order of the switching
changes after the Twitcher window is shown. Why do we have both CycleWindow and
SwitchWindow methods in TSwitchManager? The changing of order seems to be due
to the use of SwitchWindow instead of CycleWindow. I suppose this is for the
day when we implement quick window switching?


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


# 87da7984dc830d44b9d611680d84d474726d861b 19-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Contrl-~ now switches between application windows. This is handier than the
mechanism used in BeOS, that is to press Control+Option-Tab (which didn't
work on Haiku, though).
* Did not change the window switch logic, though, so it's still not really
nice.


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


# 9dfbf311cb81388716377743ceb3447b90012504 04-Jul-2009 Ryan Leavengood <leavengood@gmail.com>

Having the delay for showing the Switcher window based on the keyboard delay
seemed odd to me. The default settings made it feel too slow in coming up, and
even the fastest settings still felt awkward. So after some trial and error I
came up with a reasonable default that feels nice to me.


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


# a107d1676efac13cd456871cd9ae12fad273e860 19-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Made the get_token_list() function behave the same way as under BeOS. This
simplifies the code in the Switcher, but has the drawback that the window
list is not "static" anymore, ie. the items in the window list of the Deskbar
will now jump around as in BeOS.
* However, EasyMove now works under Haiku as well out of the box, if that is
something we want :)
* Maybe we should instead add another parameter to the window list to make
it sorted or not; sorting the list as it's done now is much simpler and
faster on the server.


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


# c2177fe861eabe1c2622069d08b51c2b213e1a56 19-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* The Switcher now "remembers" the first app when doing a quick switch over
more than one application, so that will be the next app to switch to for the
next switch.
* This solution is not entirely perfect, though, as it needs to visually bring
the first app to front inbetween to work.


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


# 0b0a2ca6c4da7704d196f7ba44c89ba89859a591 18-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Style cleanup.


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


# 94c366d23390458b848cbdf2cfd23a9e4cdc2a66 18-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed some obvious misbehaviour of the switcher.


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


# b31df46fd2359fae05cf2616695895bd8eee71ae 12-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* The window title now uses B_TRUNCATE_MIDDLE instead of *_END.
* Cleanup.


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


# b8beeb35eab7170de9f204f6e8c8fd60ea821d4f 12-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* The Switcher now uses the new application/window order functions to sort
the application/window lists before using them.
* This means that you can now switch just between the two topmost apps when
pressing Control-Tab. If you press it fast enough, it will fall back to the
old method of iterating through all apps.
* Only define the private BeOS window management API for BeOS itself, for
Haiku, better use the private WindowInfo.h header.
* Changed BeOS's window_info structure to match how Haiku does it (improved
naming, separation between client_window_info and window_info).
* Whitespace cleanup.


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


# 6524effd4f0b326e218f22810335601ee1d5bbce 22-May-2008 François Revol <revol@free.fr>

Fix style.


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


# dfd39d8b12a80b2dbb6c2362f66fd33f8a688592 21-May-2008 François Revol <revol@free.fr>

Fix "may be uninitialized" warnings. Not sure we want black there though.


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


# f6742aab04209bd1973fb743c30c6c71578f25be 13-Jan-2008 Jérôme Duval <korli@users.berlios.de>

whitespaces => tab


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


# 04d7b50bde21d8aea84736e7858c78d8174ed7fa 25-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

Added shortcut 'h' to the Switcher to hide applications.


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


# 6677ea8715e1c4da6066ea643cf2c4413a3dacae 05-Jun-2007 Jonas Sundström <jonas@kirilla.com>

Makes Switcher icons draw with alpha transparency from the start as well.

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


# 10da8181b516a1fd0cff32d17d4001f042db8263 18-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

* Moved non-public classes into the source file.
* Fixed vector icon drawing under Haiku; but it might now look strange in non-32 bit
modes (background gets a slightly different color, but this might be an app_server
bug).
* Got rid of the TSwitchManager::IdleTime()/Touch() stuff.
* Key repetitions are now accepted in the switcher, only the first (tab) key repetition
to bring up the window is not.
* Cleanup.


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


# 59deaf10bcbd8e27fd028f1757e62b27e09e385f 11-Sep-2006 Stephan Aßmus <superstippi@gmx.de>

various changes to improve integration of vector icons
* Deskbar uses 32 bit icons now
* vector icons are now correctly converted to B_CMAP8 bitmaps
if no B_CMAP8 icon is available
* small fixes in Tracker (window mode menu)


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


# 7da062312a13b77ed1aac63bdd67c44c44ad5824 01-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Imported Deskbar from OpenTracker-current.


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


# 41281cf362916855e6eb9ad1d728d919863a1e81 22-May-2005 Axel Dörfler <axeld@pinc-software.de>

Added Tracker and Deskbar from OpenTracker-current to the repository.
They both build fine.


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