GNOME Bugzilla – Bug 163281
Changes to gperfmeter Preferences sheets for HIG compliance.
Last modified: 2005-03-10 18:39:57 UTC
Eugenia sent me a snapshot of a modified Preferences sheet that was HIG compliant. Creating an enhancement request to track this.
Created attachment 35635 [details] Snapshot of revised gperfmeter preferences sheet
Created attachment 35636 [details] Revised gperfmeter.glade from Calum based on initial work from Eugenia. Note that we should be starting from Eugenia's work and then taking the modifications as supplied by Calum. Further comment from Calum: Haven't had time to finish this because I'm having to use glade over vpn today, which is rather impractical... but it'll show you the sort of thing I had mind for the Hosts and Chart tabs. The Metrics tab is probably fine as it is, if you don't want to wait until I've had a look at it.
I've been wondering about the Local/Remote radio buttons. Is 'Local' superfluous? Could there be one edit field be preceded by 'Hostname' (gnome-netinfo uses 'Network address', gnome-remote-desktop uses 'Computer', gnome-remote-shell uses 'Host') where the user could fill in 'localhost' if they chose to? I think most networking apps behave this way. (perhaps this should be its own bug, though I thought I'd mention it while there was a proposal for a new layout)
I think a change like that could be handled when we implement bug #162649.
The localhost idea could work, and indeed presumably does today if you type 'localhost' into the 'remote host' field, but using it does rely on some (albeit simple) knowledge from the sysadmin domain... for Joe User, I think I'd be happier to keep the options separate-- it's not exactly the busiest tab in the dialog anyway :) With that in mind, as this is supposed to be a tool for everyone it probably *would* be better to use a term more consistent with one of the other tools Ryan mentions... possibly "This Computer" and "Remote Computer", although "This" can get a bit ambiguous in *nix environments as you could easily be running the app remotely.
I think you're right about how separate options makes things easier for Joe User which is where GNOME is going. Fwiw, if someone has sshed to a remote machine and then launched gperfmeter from the command-line, their literacy probably makes 'This Computer' unamiguous. (unless they've launched multiple meters and forgot which is which, or launched the meter so long ago they can't remember. Which is a reminder that the title bar and hostname meter label remain identical to whatever is chosen here for the localhost label, as they are now.) Evolution uses "On This Computer" to organize local data. A Sun support forum post seems to indicate that JDS also uses "This Computer": http://supportforum.sun.com/sjds/index.php?t=msg&goto=2129&rid=0#msg_2129 but you guys would know for sure. ;) Nautilus and the Hal Device Manger use "Computer"
Created attachment 38518 [details] Combined new gperfmeter.glade With Calum's help, I've taken what he provided and merged it into the gperfmeter.glade file that's in CVS HEAD.
This new gperfmeter.glade has been checked into CVS HEAD. Currently it's broken though. It's failing with: ... Gtk-CRITICAL **: file gtkcombobox.c: line 4625: assertion `GTK_IS_LIST_STORE (combo_box->priv->model)' failed aborting... t@1 (l@1) signal ABRT (Abort) in _lwp_kill at 0xfdebd5ec 0xfdebd5ec: _lwp_kill+0x0008: bad opcode Current function is g_logv 488 abort (); t@1 l@1 <2> where 10 current thread: t@1 [1] _lwp_kill(0x0, 0x6, 0x839a4, 0xfdeb6238, 0xfdeebb20, 0x0), at 0xfdebd5ec [2] raise(0x6, 0x6, 0x5, 0x6, 0x32684, 0x0), at 0xfde5d884 [3] abort(0xffbfcf08, 0xa, 0xfe0608c0, 0xa6544, 0x0, 0xfdee4278), at 0xfde3ddf8 =>[4] g_logv(log_domain = 0xfecbb030 "Gtk", log_level = G_LOG_LEVEL_CRITICAL, format = 0xfecbb034 "file %s: line %d: assertion `%s' failed", args1 = 0xffbfd490), line 488 in "gmessages.c" [5] g_log(log_domain = 0xfecbb030 "Gtk", log_level = G_LOG_LEVEL_CRITICAL, format = 0xfecbb034 "file %s: line %d: assertion `%s' failed", ...), line 507 in "gmessages.c" [6] gtk_combo_box_append_text(combo_box = 0x2265f8, text = 0x285978 "jurassic"), line 4625 in "gtkcombobox.c" [7] set_remote_host_list(combo_box = 0x2265f8, list = 0x69aa8), line 319 in "props.c" [8] CreateProps(), line 374 in "props.c" [9] PmShowProps(), line 808 in "props.c" [10] menu_handler(widget = 0x163220), line 771 in "perfmeter.c" ... This is in the set_remote_host_list() routine in props.c: static void set_remote_host_list(GtkWidget *combo_box, GList *list) { gint i, len; gchar *str; if (list != NULL) { len = g_list_length(list); for (i = 0; i < len; i++) { str = g_strdup((gchar *) g_list_nth_data(list, i)); gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), str); <=== FAILING HERE. } } } I'll continue to investigate.
Hopefully all fixed now. Changes checked into CVS HEAD. I've bumped the version number in configure.in to 2.0.43. Several problems: - One of the Glade attributes for the Hosts_Combo wasn't being set. - The LogFile_Entry widget wasn't connected up. - All the accessibility information in the Glade file had been lost. - Needed to check for a null widget being passed into the SetSensitive function in props.c.