diff --git a/src/Managers/Process.vala b/src/Managers/Process.vala index db527f839..398460fed 100644 --- a/src/Managers/Process.vala +++ b/src/Managers/Process.vala @@ -23,6 +23,11 @@ public class Monitor.Process : GLib.Object { // User id public int uid; + // Whether the current user can access this process's data and send signals + public bool is_own { + get { return uid == Posix.getuid () || Posix.getuid () == 0; } + } + public string username = Utils.NO_DATA; Icon _icon; diff --git a/src/Views/ProcessView/ProcessInfoView/ProcessInfoView.vala b/src/Views/ProcessView/ProcessInfoView/ProcessInfoView.vala index d32fcaa3a..3d167f6a4 100644 --- a/src/Views/ProcessView/ProcessInfoView/ProcessInfoView.vala +++ b/src/Views/ProcessView/ProcessInfoView/ProcessInfoView.vala @@ -18,7 +18,7 @@ public class Monitor.ProcessInfoView : Gtk.Box { process_info_header.update (_process); - if (_process.uid != Posix.getuid ()) { + if (!_process.is_own) { process_info_cpu_ram.hide (); process_info_io_stats.hide (); process_action_bar.hide (); diff --git a/src/Views/ProcessView/ProcessView.vala b/src/Views/ProcessView/ProcessView.vala index 0b7abda9d..aac3fde0d 100644 --- a/src/Views/ProcessView/ProcessView.vala +++ b/src/Views/ProcessView/ProcessView.vala @@ -140,8 +140,8 @@ public class Monitor.ProcessView : Granite.Bin { process_info_view.process = process; process_info_view.visible = true; - end_action.set_enabled (process.uid == Posix.getuid ()); - kill_action.set_enabled (process.uid == Posix.getuid ()); + end_action.set_enabled (process.is_own); + kill_action.set_enabled (process.is_own); } public void update () {