On Tue, Apr 6, 2010 at 8:39 PM, Jonathan Blackhall <johnny.one....@gmail.com> wrote: > It's very confusing for me when I click the big 'X' in my window controls, > only to find that the application I was attempting to close has since been > minimized to my system try (or notification area or its respective indicator > applet or wherever it goes instead of quitting). Examples of programs with > this behavior include Rhythmbox and Empathy in the default install. To me, > the 'X' signifies closing and quitting the application. If I wanted to > minimize it and keep it open, I would think to click the 'Minimize' button > before clicking the 'X'. In fact, I'd argue that the only reason anyone > thinks this is appropriate is because it's what's been done in the past. > The reason I find this so frustrating is because in order for me to eXit an > application, I have to go searching through menus (File->Quit) or know some > fancy keyboard shortcuts (things that casual users never even think about). > > I can only assume that developers' theories behind this (which is definitely > not a problem unique to Ubuntu) stem from them telling themselves that no > one would actually want to Quit their application. "What they *really* mean > to do is close the window, but keep the application running silently. So > I'll just save them the trouble of accidentally quitting by changing the > function of that 'X' button." I just dislike the fact that it sends mixed > signals. After all, if I click 'X' in Firefox or in gEdit or in a whole > host of other applications, I'm quitting and completely closing it. Why > must this be different in Rhythmbox? And also, when I install a new > application, what is the 'X' going to do when I click it in this > application? > > I'm not exactly sure what I'd propose to fix this problem. I really just > think that the current way is broken. Maybe the function could be switched > to the Minimize button, but that would likewise exhibit ambiguity, although > I'd argue less so than the current incarnation. Maybe there should be a new > window button, but that doesn't seem like a very elegant solution either. I > thought about filing this as a bug, but then I thought it might be better to > generate discussion amongst developers. What are your thoughts? Do you > consider the current situation a problem? If so, what do you propose to fix > it? > > Cheers, > Jonathan > > -- > Ubuntu-devel-discuss mailing list > Ubuntu-devel-discuss@lists.ubuntu.com > Modify settings or unsubscribe at: > https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss > >
I chewed on this thought for a bit, and I think adding a "really close" button to a window would compromise what is _potentially_ a pretty well thought out bit of UI. That's not to say it is well thought out yet, but I think it could be! Conventionally, a window represents some thing the user is doing, so closing it should close that thing. A toplevel window is almost always something the user has directly triggered and is directly, purposefully interacting with, and I don't think we have anything else in the desktop that fits that role. Therefore, if the act of closing a window is affecting anything more than what that window is representing, something has gone wrong and should be fixed. For most web browsers, we're fine; the close button closes the web page associated with that window, but the application, other web pages and any current downloads (should) keep running. The rest is naturally fed by the “Just Works” philosophy; if a process is not providing anything, it should become irrelevant (probably by exiting). Firefox does this for you all the time. A lot of developers think of it as a robotic "all window are closed, so exit" deal, but I think it's more "we are no longer serving a purpose, so exit." Applications should track what they are doing for the user to decide whether they are wasting memory. Windows are remote controls for resources. In the case of Tomboy, that's a note. (When you close a window in Tomboy, you aren't destroying the note!). For Empathy, that's an instant messaging account (Telepathy). When you close the buddy list, it doesn't log you out, but you can open the buddy list and tell it to log you out. (In this case that's technically the case, too; Telepathy, Empathy, etc. are split into a whole pile of small, detached programs that run for different purposes). Rhythmbox is a different example, but let's try to fit it under the same theory. It already mostly does. The Rhythmbox main window is for controlling what music the Rhythmbox "service" (represented by its indicator icon) is playing. It just happens that the Rhythmbox service is, technically, the same process as the Rhythmbox main window. Users don't care about that, though. Someone opens Rhythmbox to control the playing music (to pause it or play it), then closes it when that is done and the service goes on in the background. If the music is stopped and Rhythmbox's controller is closed, Rhythmbox has no reason to continue running, so the process should exit. That should have absolutely no impact on the surrounding user interface, however. The Problem: that does have a strange impact on the surrounding user interface. Particularly strange for Rhythmbox, since the indicator serves as a launcher for the controller. Unless we want that Rhythmbox indicator to be permanent, it always will create a bizarrely shape-shifting desktop within the current design. It always will with a "really close" button, too, because "really closing" the window will kill the Rhythmbox service and, therefore, the indicator applet. Consider the inconsistency at hand from a lower level: killing the Rhythmbox process kills its indicator, its controller, and the music. Killing the Empathy process kills the buddy list but maintains your accounts as they are and the message indicator. Killing Evolution does not delete your email (unless you were having a good day; it gets jealous). Good news, in my books: gnome-shell has launchers and running applications in the same place ;) That is a more profound improvement than mere cosmetics. It means things don't move unexpectedly. Personally, I want to be able to reliably head to wherever I start applications and open my Buddy List, unconcerned with whether a process called "empathy" was already running, and I want to do that as quickly as heading to the message indicator and opening my Buddy List from it. I want to do that because the same functionality fits for anything, not just instant messaging; from notes to music to calendars and todo lists. We can either have a specialized launcher in the top panel for every single type of desktop service, or we can have a smarter application launcher. Take care, Dylan PS: Granted, my chewing on this was in the midst of a billion things happening at once, so I realize I may be coming across as a complete lunatic. -- Ubuntu-devel-discuss mailing list Ubuntu-devel-discuss@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss