From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3100 invoked by alias); 25 Jun 2012 12:28:14 -0000 Received: (qmail 3085 invoked by uid 22791); 25 Jun 2012 12:28:11 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=BAYES_00,KHOP_THREADED,RCVD_IN_HOSTKARMA_NO,RCVD_IN_SORBS_WEB,RCVD_NUMERIC_HELO,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 25 Jun 2012 12:27:57 +0000 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Sj8Oa-0000k0-0B for gdb-patches@sources.redhat.com; Mon, 25 Jun 2012 14:27:56 +0200 Received: from 80.255.16.236 ([80.255.16.236]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 25 Jun 2012 14:27:55 +0200 Received: from ghost by 80.255.16.236 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 25 Jun 2012 14:27:55 +0200 To: gdb-patches@sources.redhat.com From: Vladimir Prus Subject: Re: [PATCH v2] Add the "-info-os" command to MI Date: Mon, 25 Jun 2012 12:28:00 -0000 Message-ID: References: <4FBC2F40.2010907@earthlink.net> <4FBCC6BE.9010304@redhat.com> <4FBCF671.2080305@earthlink.net> <4FD28387.40005@earthlink.net> <4FD697C1.8020400@earthlink.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1 In-Reply-To: <4FD697C1.8020400@earthlink.net> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-06/txt/msg00767.txt.bz2 On 12.06.2012 05:13, Stan Shebs wrote: > On 6/8/12 3:58 PM, Stan Shebs wrote: >> On 6/1/12 3:09 AM, Vladimir Prus wrote: >>> On 23/05/12 18:38, Stan Shebs wrote: >>>> @{width="10",alignment="-1",col_name="col1",colhdr="Description"@}], >>>> +body=[item=@{col0="processes",col1="Listing of all processes"@}, >>>> + item=@{col0="procgroups",col1="Listing of all process groups"@}, >>>> + item=@{col0="threads",col1="Listing of all threads"@}, >>>> + item=@{col0="files",col1="Listing of all file descriptors"@}, >>>> + item=@{col0="sockets",col1="Listing of all internet-domain sockets"@}, >>>> + item=@{col0="shm",col1="Listing of all shared-memory regions"@}, >>>> + item=@{col0="semaphores",col1="Listing of all semaphores"@}, >>>> + item=@{col0="msg",col1="Listing of all message queues"@}, >>>> + item=@{col0="modules",col1="Listing of all loaded kernel >>> >>> Stan, >>> >>> I am afraid this output is not really good enough. From MI consumer standpoint, we need a clear >>> and concise labels for each resource type. Unfortunately, "shm" is not acceptable at all. >>> "Listing of all shared-memory regions" is unacceptably long. Besides, this would make a good title >>> for a table with output, but not really good title for a menu used to specify what to show. For >>> the record, here's the labels I have to use in actual UI code: >>> >>> ResourceClassContributionItem_0=Processes >>> ResourceClassContributionItem_10=Shared memory regions >>> ResourceClassContributionItem_12=Semaphores >>> ResourceClassContributionItem_14=Message queues >>> ResourceClassContributionItem_16=Kernel modules >>> ResourceClassContributionItem_2=Process groups >>> ResourceClassContributionItem_4=Threads >>> ResourceClassContributionItem_6=Files >>> ResourceClassContributionItem_8=Sockets >>> >>> Could GDB be made to output such labels? >> >> Thinking about this a bit, it would work to add a third column to the types listing, call it "Title", and define it as something like >> "short distinctive phrase using whole words" or something like that, and with a note in the manual that the title would ideally be phrased >> to be suitable for a menu of types. This lets it occupy a middle ground between the ultra-short string that is suitable for a subcommand >> in the CLI, and the fully description that is suitable to head up a listing of objects. >> >> I'll work up a patch along these lines. In keeping with the apparent tradition of numbered columns in the listing of types :-), I'll >> supply titles as "col2". > > There is an unfortunate unexpected consequence to this, namely that CLI "info os" also puts out the titles (because both MI and CLI use the > same code to format tables of data), and because of the way formatting works, the CLI output runs description and title together to create > gems like "Listing of all process groups Process groups". It's not unusable, just confusing. > > The hack workaround is to use ui_out_is_mi_like_p, but that's only for absolutely necessary situations. I'll look around a bit for other > ideas, and welcome anybody's suggestions. I suggest not let perfect be the enemy of the good. ui_out_is_mi_like_p is perfectly acceptable solution. The only alternative way I see would to be have the same titles for MI and CLI -- for example "Process groups". I should note that "Listing of all" prefix for every row of "info os" output is just as content free as it is content free in MI output, so it would be reasonable to only show that long form in output of "info os whatever" and not "info os". - Volodya