Current design [1] reads that all dialog not related to applications are "system dialogs" and thus should be handled modally by gnome-shell.
While this works for some of them, in particular for shutdown/restart/logoff, for others, like bluetooth auth/pairing or PolicyKit, it is wrong from a design point of view, IHMO. Consider PolicyKit for example: authentication requests should be opened in the background and only be modal for the application that needs them, so that I can launch a privileged task while doing something else at the same time. It is even more evident for bluetooth: in a public place I may be contacted for many (malicious) paring requests, and I wouldn't like to be even more annoyed by a modal dialog I cannot dismiss. Nonetheless, these are system dialogs and should be generated by the core desktop component. Also, for bluetooth, if bug 626759 is merged as it stands currently, there won't be an external session daemon that can possibly show modeless dialogs. Same could be for network, in an hypothetical GNOME 3.2 with NM 0.9 / 0.10, no gnome-panel and no GConf network settings. It is therefore clear that we need modeless dialogs generated by the shell process. Two possibilities I thought of: Gtk.Dialog or St.Dialog. The first one means using standard Gtk dialogs, which are decorated with the Metacity theme, can be stacked, focused, resized, etc. The problem with these, though, is that gnome-shell is actually mutter, a window manager, which cannot just create windows and expect them to have reparented/resized/mapped like any other client. In fact, creating a Gtk.Dialog hangs the shell, completely. The other option would be better from a themeability and integration point of view, as black St dialogs could be immediately told apart from commond Gtk ones, but currently there is no way to restack/resize/move a ClutterActor like it was a toplevel X11 window, making these essentialy modal and thus less usable. I'm not sure of what could be the right way forward, so I am asking you designers and developers what you think. Giovanni [1] http://live.gnome.org/GnomeShell/Design/Whiteboards/SystemDialogs _______________________________________________ gnome-shell-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-shell-list
