After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 543347 - Add a Process Properties dialog in GNOME System Monitor
Add a Process Properties dialog in GNOME System Monitor
Status: RESOLVED FIXED
Product: system-monitor
Classification: Core
Component: process list
2.22.x
Other All
: Normal enhancement
: ---
Assigned To: System-monitor maintainers
: 347489 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-07-16 22:03 UTC by Moo
Modified: 2012-03-20 22:32 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
This is a skeleton patch (2.52 KB, patch)
2010-12-06 14:10 UTC, krishnan parthasarathi
none Details | Review
Screenshot of 'current' state (80.18 KB, image/png)
2010-12-09 08:41 UTC, krishnan parthasarathi
  Details
patch for "process properties" dialog feature (12.16 KB, patch)
2010-12-11 11:35 UTC, krishnan parthasarathi
none Details | Review
patch for "process properties" dialog feature (8.89 KB, patch)
2010-12-16 08:15 UTC, Robert Ancell
none Details | Review
patch for "process properties" dialog feature (12.91 KB, patch)
2010-12-16 22:18 UTC, Robert Ancell
none Details | Review
Screenshot of behaviour with latest patch (49.34 KB, image/png)
2010-12-17 00:11 UTC, Robert Ancell
  Details
patch for "process properties" dialog feature (13.04 KB, patch)
2010-12-17 06:31 UTC, Robert Ancell
none Details | Review
Updated patch (15.63 KB, patch)
2012-01-06 01:23 UTC, Robert Roth
none Details | Review

Description Moo 2008-07-16 22:03:13 UTC
Add a "Process Properties" dialog to GNOME System Monitor, that shows all information about a process.
It should be reachable by right-clicking on a process, and selecting "Properties" from the context menu.

This way you can see all the details of a specific process when you want, without having to enable all the columns.

Conceptual mockup;
* http://launchpadlibrarian.net/16099226/process_properties.png
Comment 1 Benoît Dejean 2008-07-17 11:04:25 UTC
A bit late for 2.24, i'll see what i can do.
Comment 2 Robert Ancell 2010-11-30 23:28:45 UTC
This is a popular requested feature in Ubuntu Brainstorm:
http://brainstorm.ubuntu.com/idea/25887/
Comment 3 Robert Ancell 2010-11-30 23:34:11 UTC
It may also be a nice idea to have some of this information for the selected process below the process list so that is more discoverable.  You could then have a "more information" button that would open a dialog with less-frequently required information.
Comment 4 Robert Ancell 2010-11-30 23:36:05 UTC
Benoît, if you don't have the time for this I am willing to mentor anyone who would like to work on it.
Comment 5 krishnan parthasarathi 2010-12-06 14:09:01 UTC
Robert,
I have got a skeletal patch in place. I would need some help on getting the GUI part of'Process Properties' dialog. With some pointers, I should be in a position to work on my own. I was thinking if I could 'copy' some stuff from 'Open Files' dialog's implementation. Let me know what would be the best way to proceed.
Comment 6 krishnan parthasarathi 2010-12-06 14:10:28 UTC
Created attachment 175921 [details] [review]
This is a skeleton patch

This patch has a place holder for the "Process Properties" option in context menu.
Comment 7 Robert Ancell 2010-12-07 06:46:53 UTC
Hi Krishnan.  Fast work!  I just had a quick look, and I would agree the Open Files dialog is probably some good code to base your patch on.
Comment 8 krishnan parthasarathi 2010-12-08 04:14:57 UTC
I am more or less done with the 'view' of the UI. We need process memory info to fill in some of the process' properties. I found that there is already a function that exactly does this, get_process_memory_info. But that is defined to local to proctable.cpp. Should I 'copy' the same function local to process properties dialog implementation or make the function globally available for future reuse?
Comment 9 Robert Ancell 2010-12-08 07:59:18 UTC
I'm not sure, but since the function is small, copy it for now and it can always be refactored later if there's a better method.
Comment 10 Derek Weitzel 2010-12-08 20:20:59 UTC
Hi Krishnan,

Can you use ProcInfo object passed into the create dialog?  It should have the memory info
...
  gulong vmsize;
  gulong memres;
  gulong memshared;
  gulong memwritable;
  gulong mem;
...
Comment 11 krishnan parthasarathi 2010-12-09 02:08:56 UTC
Hi Derek, 

For filling out values for the first time we can use the ProcInfo object passed on selection of the process from the Processes list. In the event that the user keeps the 'Process Properties' dialog open for some amount of time, we need to keep the fields updated with the latest memory information. For this we need to 'query' libgtop to get the latest memory usage values. You can see a similar possibility handled in 'Open Files' dialog, where a process can open/close file(s) after the dialog had been opened.
Comment 12 krishnan parthasarathi 2010-12-09 08:41:22 UTC
Created attachment 176115 [details]
Screenshot of 'current' state

The screenshot attached shows how the "Process Properties" dialog would look. Hope to complete the patch as soon as possible.
Comment 13 Moo 2010-12-09 23:28:07 UTC
Looks really good!
Good job!

Maybe add a button to "Memory Maps" and "Open Files" too, or integrate them into the dialog.
Comment 14 krishnan parthasarathi 2010-12-10 07:07:29 UTC
Hi Moo, 
Thank you. 
Adding buttons for Memory maps and Open Files would mean, user ends up with multiple nested dialog windows. So, I would prefer we have the context menu as the single point from which we can choose based on what about a process the user wants to inspect. Of course, I am no UI expert and I am open for a discussion :)
Comment 15 krishnan parthasarathi 2010-12-11 11:35:30 UTC
Created attachment 176229 [details] [review]
patch for "process properties" dialog feature

Let the review of the patch begin :-)
Comment 16 Moo 2010-12-12 21:05:16 UTC
Review of attachment 176229 [details] [review]:

Strings are "Shared memory" and "Security Context".

Should either be ("Shared memory" and "Security context") or ("Shared Memory" and "Security Context").
Comment 17 krishnan parthasarathi 2010-12-13 14:24:25 UTC
Moo, 
Currently I don't have a personal PC/laptop :( This makes it difficult for me to work on this patch. If the final set of review comments are not too many, I suggest someone else could make the necessary changes and commit the patch.
Comment 18 Moo 2010-12-13 20:59:09 UTC
Maybe 'Waiting Channel' could be added too?
Comment 19 Moo 2010-12-13 21:10:56 UTC
{ "Command Line", g_strdup_printf("%s", info->wchan)}
Comment 20 Moo 2010-12-13 21:11:53 UTC
Add:
{ "Waiting Channel", g_strdup_printf("%s", info->arguments)}

in function fill_proc_properties()
Comment 21 Robert Ancell 2010-12-16 08:15:06 UTC
Created attachment 176518 [details] [review]
patch for "process properties" dialog feature

Updated patch with spelling corrections and whitespace fixes
Comment 22 krishnan parthasarathi 2010-12-16 08:37:15 UTC
Robert,
The udpated patch seems to have the following changes missing in it.
 src/Makefile.am        |    1 +
 src/callbacks.cpp      |    8 ++
 src/callbacks.h        |    1 +
 src/interface.cpp      |    9 ++-

Thanks for updating the patch with the suggested changes.
Comment 23 Robert Ancell 2010-12-16 22:18:15 UTC
Created attachment 176562 [details] [review]
patch for "process properties" dialog feature

Fixup up patch.  Also made it so properties table is not deleted and rebuilt on refresh.
Comment 24 Robert Ancell 2010-12-17 00:11:35 UTC
Created attachment 176568 [details]
Screenshot of behaviour with latest patch
Comment 25 Derek Weitzel 2010-12-17 05:25:15 UTC
Could the ID be changed to PID?  That would be more consistent with cli tools.
Comment 26 Robert Ancell 2010-12-17 06:21:09 UTC
The ID matches the column in the system monitor main window.  It's probably worth opening a separate bug about that.
Comment 27 Robert Ancell 2010-12-17 06:31:01 UTC
Created attachment 176576 [details] [review]
patch for "process properties" dialog feature

Added "Waiting Channel".  Make titles translatable
Comment 28 Chris Kühl 2011-03-29 08:34:15 UTC
Looks like your ping got swallowed by the bugzilla issues the other day. I'll give this a closer look once gnome 3 is out. I generally think this would be a nice feature though.
Comment 29 Chris Kühl 2011-06-13 22:56:51 UTC
I took the time to manually apply this but it still didn't compile cleanly. I'd like to add this but need an updated patch. Please add a copyright header to the newly created files also.

I promise to get it this applied quickly once its in a satisfactory state.
Comment 30 Robert Roth 2012-01-04 00:31:37 UTC
*** Bug 347489 has been marked as a duplicate of this bug. ***
Comment 31 Robert Roth 2012-01-06 01:23:10 UTC
Created attachment 204716 [details] [review]
Updated patch

Updated patch to compile cleanly, with Priority field added, also added procproperties to POTFILES.in to be translatable, added headers to new added files, and removed redundant code for formatting memory sizes and process state.
Comment 32 Chris Kühl 2012-01-14 01:56:46 UTC
Thanks. I've applied this to master and did a few fix ups.
Comment 33 Michael Biebl 2012-03-20 22:32:11 UTC
Hi!

(In reply to comment #32)
> Thanks. I've applied this to master and did a few fix ups.

This patch causes a build failure on our kfreebsd ports due to the usage of asm/param.h

https://buildd.debian.org/status/fetch.php?pkg=gnome-system-monitor&arch=kfreebsd-amd64&ver=3.3.92-1&stamp=1332280913&file=log