This seems like a great time to subscribe my RSS !

They wanna X zapping by default. A lot of discussion followed. Usability here, usability there (yawn).

Hey !! What if my cat jumps on my keyboard  and zaps everything ?


Some people still want zapping to be enabled by default

  • this makes and will make newbies loose a lot of open documents.
  • this would be fine for people like me.

Alberto Milone proposed to add a checkbox on the resolution changing dialog.

Bryce Harrington says X may not be able to handle a confirmation dialog for the zap when it’s already froze.

I really think a confirmation dialog shall be the solution for handling zapping. This has been posted various times on the don’t zap blueprint and it’s getting completely ignored. What some people seems not to get is that it should be done the other way around:

  • user press Ctrl+Alt+Backspace
  • a confirmation dialog pops up
  • the confirmation dialog has a timer, if the time goes to zero, X gets restarted:
    • if the system is froze, they user just has to wait (or press ctrl+alt+backspace 2 times more)
    • if the system is not froze the dialog pop ups explaining the user what ctrl+alt+backspace is used for on linux desktops.

This approach is already used for Gnome Logout (ctrl+alt+del) and it’s quite misterious why it doesn’t get applied to the zapping thing. It has the the following advantages:

  • Almost no expert user will loose a feature he/she is accustomed too.
  • The novice not only don’t loose data, but learns one more thing about the linux desktop
  • No option cluttering of any preference dialog. Never, ever.

It’s that so difficult ? The dialog confirmation could be a dead simple python app, it hasn’t to show up in critical conditions, just to be able to load when everything on the system is fine.

I see your point, why don’t you do that yourself for the community ? I have a good answer to that: no.

ps: turns out Shuttleworth and Torvalds had an argument about how easy gnome should be.

4 Responses

  1. Bryce is right that we can’t bring up a dialog when the GPU is wedged. I like SuSE’s method: hit it twice.

  2. Stefano Forenza

    What’s so difficult to understand in my post ?
    The dialog just tries to show up.
    If it can’t that’s no bad, you can still ctrl+alt+backspace twice more and get X restarted, or just wait for the timer to end and restart X.

    If the combo was hit by mistake, then the dialog will likely be able to show up and let the user undo the zap.

    That’s basically the Suse method ++.

  3. Matt Trudel

    The idea of the popup is nice, but is, as pointed out by Bryce if I recall correctly, technically difficult. The code that handles the zapping is far at a low-level layer of X code, and can’t start userland popups or anything of the like. Hitting the key twice isn’t going to change that, and if X is so far gone that ctrl-alt-bksp won’t work, then you’re still stuck with having to press the power button.

    That is, unless you know that there is also a very viable alternative, like Alt-SysRq-K, which will do effectively almost the same thing as ctrl-alt-bksp: kill everything on the current VT, which will have the effect of killing/restarting X. You’ll also get the added benefit of making sure that the key works even if X is completely gone, since that key combo is taken care of by the kernel. It’s also obscure enough that you shouldn’t be able to ever press it by accident.

  4. Stefano Forenza

    Hi matt, I am not that into X but I’m not sure it should be something written in inside the X code.

    1) you make X react to ctrl+alt+backspace just starting a timer. Two other presses while the timer is going will make him zap neverthless
    2) you find a way to intercept ctrl+alt+backspace in the userland (gnome, etc) while still letting X getting the event. When ctrl+alt+backspace is pressed the userland will react
    – checking X has started the timer
    – displaying a popup with the warning about the nearing restart in 10 seconds and option to cancel it or to confirm it.

Leave a comment