No announcement yet.

Correct tray program behavior?

  • Filter
  • Time
  • Show
Clear All
new posts

  • Correct tray program behavior?

    What is the 'correct' behavior for a "tray" program vis-a-vis "end" versus "return to the tray?"

    The one I am working on now....

    When you cick on tray icon .. your options are "Restore" (bring the full main screen into view), "Setup" (invokes a "setup" dialog, which can also be reached via a button on main screen) and "End Program" (guess what that does).

    On the 'restored' main screen, I currently have the "X" (close program) and "mimimize" available in the upper right-hand corner of the screen (and on system menu).

    On "Minimize" I think it's pretty clear I should just hide the screen, leaving the tray icon in place.

    But what about "X?" Should I end the program? Or just minimize to tray?

    Should I offer either a button or a menu for "end program" or should I make the user return the program to the tray (minimize), and "End program" from there?

    What I have now 'feels' wrong, but darned if I know what is "right" in this case.

    Any comments appreciated.

    Michael Mattias
    Tal Systems (retired)
    Port Washington WI USA
    [email protected]

  • #2
    MCM, you are missing the obvious choice that I always miss when thinking about whether to close or minimize.

    Depending on the purpose of the program (If it really needs to be a tray icon or not) because it will always be running, or just running when the user needs it, etc. then the decision becomes the following:

    If at a toss-up as to do something one way or the other, and neither is really "Better" than the other, the obvious choice is "Let the user decide"

    This way all you need to do is code for both options, and let the user set an option whether to minimize or end the program.

    The hard question then is still your original question a bit modified. "What is best for the default option of the X button? Close or Minimize?"

    (I wrote a program in the past that the core point was to clean your system for you, for users that only clean once their system is too riddled with viruses and spyware, so I chose the minimize, and close from there if you right click to close. But that has come back to bite me on occasion that I am the one working on the system and forget that I built in the "Minimize" into the program)

    Some camps of thought would think X means "Close", other newer camps of thought think it would mean "Minimize" (Not an obvious choice IMHO), I think it really pertains to the core idea of the program.

    But above ALL else please PLEASE PLEEEEEZZZZE do not do like many chat programs do and when you hit the X pop up some message saying you minimized to the tray and are still running. (Those kind of messages drive me NUTS )
    Engineer's Motto: If it aint broke take it apart and fix it

    "If at 1st you don't succeed... call it version 1.0"

    "Half of Programming is coding"....."The other 90% is DEBUGGING"

    "Document my code????" .... "WHYYY??? do you think they call it CODE? "


    • #3
      Microsoft's guidelines for use of the Taskbar Notification Area..

      Rgds, Dave


      • #4
        My preference is to ONLY exit the program from the tray icon, otherwise, always minimize. The reason for me, is that when I have a 'tray app', I expect that it will continue to run until explicitly told not to. If I pop it up to check the status (or whatever it does maximized) then I don't want to have to remember which button does which function). My 'default' is to have it always running, therefore, regardless of what option I click when full-screen, I want it to keep running. When/If I elect to stop the program, I should only have to right-click the tray icon and select 'exit' or close. Preferably, there won't be an [X] on the maximized display so there isn't any confusion as to which buttons do what.

        This of course, is just an opinion. Even though MS might have a 'suggested' action, I doubt most developers follow it simply because MS has said so. If we always did what MS said, then the whole config file conflict with Vista would never have been a big deal

        Did I just kill my own argument?
        Software makes Hardware Happen


        • #5
          You provide an "Exit" button on the tray popup menu and also somewhere in the dialog (ie. under "File" menu), everything else minimizes to tray. That is how it is mostly done, can't think of any exceptions
 | Slam DBMS | PrpT Control | Other Downloads | Contact Me


          • #6
            >Preferably, there won't be an [X] on the maximized display

            Duh. That would certiainly eliminate the confusion.

            I also looked at the M-S guideline link provided. Now I am rethinking if this program really should be a tray application.

            It does have a requirement to provide a 'status' which can change, so that says the tray is a good thing.. it beats having to restore to see how far the job has progressed and then re-minimizing to get it out of the way.

            Maybe I'll follow the M/S suggestion to give the user the choice between 'regular minimize [to taskbar]' and 'minimize to tray'. (??).

            I also would like to maybe highlight the icon when the 'status' is 'completed' (what can be a long-running task, which the user is waiting for)... but you usually see those in the 'regular' taskbar.

            Oh well, I'm having some kind of brain lock on the interface for the actual program functions right now anyway, so I can let these ideas percolate for a few days whilst I get those things squared around.

            Thanks for thoughts and links.

            Last edited by Michael Mattias; 22 Jan 2008, 08:51 AM.
            Michael Mattias
            Tal Systems (retired)
            Port Washington WI USA
            [email protected]


            • #7
              Maybe I'll follow the M/S suggestion to give the user the choice between 'regular minimize [to taskbar]' and 'minimize to tray'. (??).
              ooooohhhhhh. I didn't realize this wasn't an "always running" application. That makes a BIG difference to me.

              The ONLY apps I want running 'in the tray' are those things that need to be running all the time, such as Anti-virus/spyware, my Password vault, my 'sync-on-change' backup program, etc. Otherwise, it has NO purpose to be in the tray.

              My rule of thumb, if I don't have it automatically starting in one of the 4 auto-start areas, then don't be installing yourself in my tray.

              There is a reason MS allows you to 'hide inactive' tray icons. Things can get too cluttered as it is. If you need to visually alert the user, the minimized taskbar icon can do the same thing....just change the title bar on the main dialog. That is what's displayed in the task bar and you can hover over it for the 'updated' value.
              Software makes Hardware Happen