Jump to content

myBoard, the Mac OS X Dashboard on Vista


Recommended Posts

  • Replies 195
  • Created
  • Last Reply

Top Posters In This Topic

feedback

- when the board is activated pressing the assigned hotkey will cause it reactivate. IMO, pressing the hotkey again should bring you back to the desktop

- multiple instances can be run, causing multiple boards to be activated with the same hotkey at the same time

- dropping a widget on the dock will still create a new widget behind the dock

- widgets don't appear where you place them; they appear off by a few pixels

- i'd also like support for top/side/no taskbar

- if you move a widget to the top of the screen then open the widgetdock, that widget will slide off the screen. it would be great if widgets would stop sliding once they hit the top border of the desktop

- i'd like an option to show the dashboard when the icon was double-clicked, and when you would close the dashboard, the program would quit instead of remaining in the background

- support for hotkeys like ctrl+F12, ctrl+shift+E etc

edit : - although this isn't really important, since this app is vista-only, a 256x256 icon would be nice

Link to comment

I like the dashboard tool a lot, very handy..and it works fine here on Vista Home Premium. I also think that another click on the middle mouse button should hide the dashboard next to the left click to the darker area on the desktop. Other than that I think that this is great project and I am looking forward to the next version (maybe with a weather gadget or a todo list which could come in handy, at least I think so;)

Link to comment

To the developer: Are you using Screen.PrimaryScreen.Bounds or Screen.PrimaryScreen.WorkingArea? If you used the workingArea to determine the size and placement of the dashboard, it would automatically be able to detect where the taskbar is and would adjust accordingly.

Example

If the taskbar is on the top and you used WorkingArea.Location it would return 0, {the height of the taskbar} as the location point.

If the taskbar is on the left it would return {the width of the taskbar}, 0 as the location point.

The same is true with WorkingArea.Size where the returned Size would be the desktop size minus the taskbar.

Just thought it would help if it wasn't already the way you were doing this. Also an easy to way to ensure a single instance would be to create a Mutex on start up.

An example of this that I use is the following:

[STAThread]
static void Main()
{
bool createdNew;

Mutex m = new Mutex(true, "{name of program}", out createdNew);

if (!createdNew)
{
//App is already running...
MessageBox.Show("Only one instance of myBoard can run at a time.");
return;
}

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

//Keep the mutex reference alive until the normal termination of the program
GC.KeepAlive(m);
}

This would be placed in the Program.cs or whichever cs file is the startup file.

Also, what specific things are limiting this to Vista only as .Net 3.5 is available for XP. Are there calls to Vista's DWM for window transparency? I was just wondering as opening it to XP as well would in effect open it to many more developers who haven't made the switch to Vista - myself included.

Link to comment
- when the board is activated pressing the assigned hotkey will cause it reactivate. IMO, pressing the hotkey again should bring you back to the desktop

This will be done in Pre Alpha 0.4

- multiple instances can be run, causing multiple boards to be activated with the same hotkey at the same time

I just never had a the time to fix that, most likely fixed in Pre Alpha 0.4

- dropping a widget on the dock will still create a new widget behind the dock

Oops, good one, I'll fix that too for Pre Alpha 0.4

- widgets don't appear where you place them; they appear off by a few pixels

Yes I know, this one is anoying to fix, I work on it for Pre Alpha 0.5

- i'd also like support for top/side/no taskbar

This is going to be very complicated to make, but I'll see what I can do. what's up with the "noo taskbar" ? what do you mean by that ?

- if you move a widget to the top of the screen then open the widgetdock, that widget will slide off the screen. it would be great if widgets would stop sliding once they hit the top border of the desktop

Hummm that's not really a bug, but it it indeed how it works on mac os X dashboard, I'll see what I can do.

- i'd like an option to show the dashboard when the icon was double-clicked, and when you would close the dashboard, the program would quit instead of remaining in the background

Ok for the double click feature, but for the close feature, I don't get it. The close option already quit the program. Doesn't it work for you ?

- support for hotkeys like ctrl+F12, ctrl+shift+E etc

Ok I'll try to add this feature as soon as possible.

edit : - although this isn't really important, since this app is vista-only, a 256x256 icon would be nice

I'll need a designer for that, if anyone could propose a nice icon for myBoard, I would really appreciate it :)

Dude, thanks a lot for all these feedbacks, it helps a lot !

Link to comment
To the developer: Are you using Screen.PrimaryScreen.Bounds or Screen.PrimaryScreen.WorkingArea? If you used the workingArea to determine the size and placement of the dashboard, it would automatically be able to detect where the taskbar is and would adjust accordingly.

Example

If the taskbar is on the top and you used WorkingArea.Location it would return 0, {the height of the taskbar} as the location point.

If the taskbar is on the left it would return {the width of the taskbar}, 0 as the location point.

The same is true with WorkingArea.Size where the returned Size would be the desktop size minus the taskbar.

Just thought it would help if it wasn't already the way you were doing this. Also an easy to way to ensure a single instance would be to create a Mutex on start up.

An example of this that I use is the following:

[STAThread]
static void Main()
{
bool createdNew;

Mutex m = new Mutex(true, "{name of program}", out createdNew);

if (!createdNew)
{
//App is already running...
MessageBox.Show("Only one instance of myBoard can run at a time.");
return;
}

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

//Keep the mutex reference alive until the normal termination of the program
GC.KeepAlive(m);
}

This would be placed in the Program.cs or whichever cs file is the startup file.

Also, what specific things are limiting this to Vista only as .Net 3.5 is available for XP. Are there calls to Vista's DWM for window transparency? I was just wondering as opening it to XP as well would in effect open it to many more developers who haven't made the switch to Vista - myself included.

I'm using System.Windows.SystemParameters.PrimaryScreenWidth and System.Windows.SystemParameters.PrimaryScreenHeight to get screen resolution. Don't worry everythings is fine now, the bug is fixed :-)

Thanks for the mutex sample, I juste never had the time to add these kind of verification on myBoard start.

And yes I'm indeed using DWM for transparency. The only way to make myBoard work on XP would be to use the allowtransparency property to true. If I do that, the entire transparency will be software rendered -> Extremely slow. And the whole point of myBoard is about being fast and smooth.

So no myBoard for XP sorry :(

Link to comment
This is going to be very complicated to make, but I'll see what I can do. what's up with the "noo taskbar" ? what do you mean by that ?

for people who use the auto-hide feature of the taskbar or people like me who use objectdock or other software to completely hide their taskbars

Ok for the double click feature, but for the close feature, I don't get it. The close option already quit the program. Doesn't it work for you ?

ok, i'll try to explain this option :

now : there's no myboard process running in the background. you launch myBoard and you get a balloon and a tray icon. myBoard launches when you press the assigned hotkey.

with that option activated : there's no myboard process running in the background. you launch myBoard (double-click from explorer etc) and myBoard pops up (no balloon, no tray icon, no additional hotkey press).

now: you click on an empty dark area. myBoard disappears, but you still get an icon in the tray and the process is still there in the background.

with that option activated : you click on an empty area. myBoard should quit, so there's no process running in the background (you can't see myBoard.exe running in the Task Manager)

this is not a must-have but it might be a particularly good option for people with low memory who can't afford having the process in the background all the time.

Dude, thanks a lot for all these feedbacks, it helps a lot !

you're welcome, i'd love to see this developed further

edit : found new bugs

- if you close the board when there are no calendar widgets, the next time you invoke the hotkey, the board will appear with two calendar widgets placed in the same position. the same goes for the notes widget, although it only creates one note widget in this case

- removing the calendar widgets automatically created by the board a few times will cause the app to create two new such widgets that don't display the close button until you end the myboard process and then start it again

- if you click on a widget immediately after it's been placed, one new widget will be placed at the same location for every time you've clicked on it.

Link to comment

For transparency support on XP, you could use UpdateLayerWindow. It's not a huge sacrifice for speed. You could also just set the background form's opacity to something less than 100% and set this as the parent of all of the 'magnets' as you're calling them. If you're worried about software rendering you could import the GDI API calls as this would use hardware acceleration.

Also, Screen.PrimaryScreen.WorkingArea would be the best / easiest solution to obtain the 'working' screen resolution but since you've already fixed this, it's a mute point.

It's a shame that it can't be used on XP as I would love to try it out...good luck though on all of the development.

Link to comment
for people who use the auto-hide feature of the taskbar or people like me who use objectdock or other software to completely hide their taskbars
Ok I understand now ... I'll see what I can do.
now : there's no myboard process running in the background. you launch myBoard and you get a balloon and a tray icon. myBoard launches when you press the assigned hotkey.

with that option activated : there's no myboard process running in the background. you launch myBoard (double-click from explorer etc) and myBoard pops up (no balloon, no tray icon, no additional hotkey press).

now: you click on an empty dark area. myBoard disappears, but you still get an icon in the tray and the process is still there in the background.

with that option activated : you click on an empty area. myBoard should quit, so there's no process running in the background (you can't see myBoard.exe running in the Task Manager)

this is not a must-have but it might be a particularly good option for people with low memory who can't afford having the process in the background all the time.

Hummm If you don't have enought memory to let myBoard run in background, it means that myBoard probably takes about 10 seconds to start. This is way longer than starting notepad, the calculator, check the date or any other thing myBoard could show with gadget. So why someone would start myBoard instead ?

The whole point is about having access to all these tools in less than a second and this is not something possible just after a double click on the myBoard icon. If you take a look at Mac OS X Dashboard, you'll notice that the process runs permanently in background.

edit : found new bugs

- if you close the board when there are no calendar widgets, the next time you invoke the hotkey, the board will appear with two calendar widgets placed in the same position. the same goes for the notes widget, although it only creates one note widget in this case

- removing the calendar widgets automatically created by the board a few times will cause the app to create two new such widgets that don't display the close button until you end the myboard process and then start it again

- if you click on a widget immediately after it's been placed, one new widget will be placed at the same location for every time you've clicked on it.

Hummm ok, I'll fix that for next release, thanks :-)
Link to comment
For transparency support on XP, you could use UpdateLayerWindow. It's not a huge sacrifice for speed. You could also just set the background form's opacity to something less than 100% and set this as the parent of all of the 'magnets' as you're calling them. If you're worried about software rendering you could import the GDI API calls as this would use hardware acceleration.

Also, Screen.PrimaryScreen.WorkingArea would be the best / easiest solution to obtain the 'working' screen resolution but since you've already fixed this, it's a mute point.

It's a shame that it can't be used on XP as I would love to try it out...good luck though on all of the development.

This is a .NET 3.0 application, setting the opacity of the host application will use software rendering which is incredibly slow. GDI calls is not an option way to much code involved, and this is not the WPF way of doing things.

It wouldn't be complicated for me to create a myBoard package compatible with XP so you guys can realize how slow this is. If you really want to see by yourself, let me know :)

Link to comment

I found a small bug...I recently activated the Dashboard by pressing the middle mouse button and then I tried to open the horizontal bar/board where the widgets are located. Suddenly the whole board was filled with the 2 gadgets, like: post-it, calendar, post-it, calendar and so on.

Also, it seems that the dashboard does not remember the settings yet...I wrote down a note on the post-it and it did not remember it when I closed and restarted the dashboard.

Link to comment

Ok great I will make Pre-Alpha 0.4 compatible with vista then.

Thanks narr for the bug report, I'll try to fix this for next release.

One last thing, the Post-It magnet is supposed to automatically save what ever you write automaticaly. Does this work for any of you or does it work just for me ?

Link to comment

hmmm...well it happened to me that after some reboots the post-it text that I have written wasn't visible anymore. I just tried it again but only by closing your application and starting it again - the text was still there...hmmm.. I am not sure why that happened in the first place...maybe because of the reboot...it's hard to re-produce now...but if it happened again after I reboot I will tell you.

Link to comment

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...