[haiku-development] Deskbar Enhancements
- From: John Scipione <jscipione@xxxxxxxxx>
- To: haiku-development@xxxxxxxxxxxxx
- Date: Mon, 27 Jun 2011 19:04:17 -0400
Well, alpha3 is out and not a lot is going on so... this is gonna be pretty long but I wanted to post something on this topic. stippi recently posted on his blog an article  which I find interesting because it has been the focus of some of my work updating the Haiku Deskbar and I wanted to make some comments about it here. Let me first start off by saying that a Deskbar rewrite is NOT necessary or even desirable; the current Deskbar works great and it should be tweaked to add some nice features on top of what is already there. Now the comments: > FTA: "I hate how I have to decide which window I want when switching to a running application in Windows 7, in case that application has multiple windows open... I just want the last active one, damn it!" I agree with this point and have expressed it in comments in . Make left click bring up the last active window. Each subsequent click should switch to the next window (including switching workspaces as necessary.) > FTA: "I like how in Windows 7, the taskbar holds just big icons. That leaves a lot of room." I'd like to bring up  and  as solutions to this problem.  is provides an example of what Deskbar might look like with bigger icons in vertical expando mode. I like the idea of moving the Application name label underneath the icon as the icon size increases. See  for what I mean about increasing icon sizes. In horizontal mode I have experimented with the idea of removing the icon labels altogether making Deskbar look a little bit like the Windows 7 Taskbar. I'd further like to add tooltips of the app name on mouse hover and a bunch of other tweaks but I haven't gotten around to it. > FTA: "I like the "Pin this task to the taskbar" feature that is also present in the Mac OS X Dock. I've already commented in a ticket how I would love to integrate LaunchBox into Deskbar via such a feature, resolving how to easily make applications launch at boot time along the way." No comment other than I love the idea. Deskbar could hold not just running apps but also pinned apps integrating the best part of Launchbar right into Deskbar. > FTA: "The Deskbar's default location does not encourage full screen application windows... I would extend the BScreen and BWindow class such that it is easy to go into full screen mode programmatically, while not covering up the deskbar. Obviously full screen video playback could still take over the whole screen, but I want something intermediate that embraces full screen windows more while still allowing the application and window management features of the Deskbar to be readily accessible." My take on how to solve this problem is to make full screen apps really full screen, i.e. make full screen applications take 100% of the screen including the area taken up by Deskbar. So how do you access Deskbar? That is where  comes in. The patch on that ticket adds an autohide feature to Deskbar. It basically works like autohide on other popular OSs. When an app goes full screen the Deskbar gets hidden. You can flick your mouse to the edge (or corner, depending on where Deskbar is) of the screen to access it. I would extend BScreen and BWindow to allow the current zoom button to bring an app full screen in the way that I describe here. This would be on an app-by-app basis. So if you want zoom in your app continue to work like it does now, you can have it, if you want "real" full screen, you can have that too. I however would not introduce a new button for full screen. I think that would be confusing for, well everybody, and would bely simplicity for little gain. > FTA: "My first change would be to make Deskbar run along the top or bottom of the screen, top probably being my preferred default location, as I find it easier to flick the mouse upwards." I really don't see this as necessary. You can run Deskbar any way you'd like. If you like top of the screen you can have it. The functionality is already there and doesn't need changing. A lot of people in the comments also expressed that they like vertical mode. I like vertical mode. Vertical mode is great, long live vertical mode, and horizontal mode too! > FTA: "Then I would change the display of running apps to just their icons. Clicking an application icon would always do the same thing, which is to bring that application to front and switch to the workspace of its last active window." Again I have experimented with this idea in . This only really works with icons larger than 16x16 though or the target is too small to hit easily. I would make this configurable though. Meaning, you can have Deskbar with small icons+labels (like now) if you want or big icons w/o labels if you want that too. Then again, once you get too many applications open/pinned at once the labels have to disappear to make room, at least in horizontal mode. Otherwise you get meaningless text surrounded by "..."s which isn't very helpful. > FTA: "Both these click targets would get a context menu. The application icon could offer options to permanently install the icon into the Deskbar, regardless of whether[sic] the application is running, or to launch the application at boot time. There could be an interface for applications via the BDeskBar class to install custom services into that menu (perhaps simply named BMessage commands to be send to some BMessenger). The window list icon would get a context menu with common window operations like "Hide all", "Close all", "Bring all to this workspace" and so on." No comment other than I like the idea of expanding the each applications contextual menu in Deskbar with more choices. FTA: "I would also like to integrate the Workspaces applet into the Deskbar, optionally enlarging when the mouse is over it. That would further emphasise the full integration of workspaces on Haiku." +1 John Scipione  http://haiku-os.org/blog/stippi/2011-04-07_deskbar_rewrite  http://dev.haiku-os.org/ticket/6296 is about changing the functionality of left click an application on Deskbar to bring up the most recent application window instead of bringing up a contextual menu. I have already expressed my opinion on this subject in the comments of the bug report.  http://img134.imageshack.us/img134/6393/bedesktopdr8.gif is a screenshot of BeOS DR8 with larger Deskbar icons that someone posted in the comments on stippi's blog post . I like the concept of big icons with the label underneath in vertical mode.  https://dev.haiku-os.org/ticket/7132 is my continuing quest to bring larger configurable icons to Deskbar.  https://dev.haiku-os.org/ticket/4880 is an enhancement to bring an autohide feature to Deskbar. I had nothing to do with this code, I am just a fan.