[sysprof/wip/chergert/sysprof-3] libsysprof-ui: wire up spawn args
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sysprof/wip/chergert/sysprof-3] libsysprof-ui: wire up spawn args
- Date: Sun, 19 May 2019 01:40:38 +0000 (UTC)
commit fec8876c87659d2640354e6628aefd8a2cc86dee
Author: Christian Hergert <chergert redhat com>
Date: Sat May 18 18:40:17 2019 -0700
libsysprof-ui: wire up spawn args
src/libsysprof-ui/sysprof-profiler-assistant.c | 31 ++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
---
diff --git a/src/libsysprof-ui/sysprof-profiler-assistant.c b/src/libsysprof-ui/sysprof-profiler-assistant.c
index 9ad1d68..6324747 100644
--- a/src/libsysprof-ui/sysprof-profiler-assistant.c
+++ b/src/libsysprof-ui/sysprof-profiler-assistant.c
@@ -41,6 +41,9 @@ struct _SysprofProfilerAssistant
GtkListBox *process_list_box;
SysprofEnvironEditor *environ_editor;
GtkFlowBox *aid_flow_box;
+ GtkSwitch *whole_system_switch;
+ GtkSwitch *launch_switch;
+ GtkSwitch *inherit_switch;
};
enum {
@@ -183,6 +186,31 @@ sysprof_profiler_assistant_record_clicked_cb (SysprofProfilerAssistant *self,
(GtkCallback) sysprof_profiler_assistant_foreach_cb,
profiler);
+ /* Setup whole system profiling */
+ sysprof_profiler_set_whole_system (profiler, gtk_switch_get_active (self->whole_system_switch));
+
+ if (gtk_switch_get_active (self->launch_switch))
+ {
+ g_auto(GStrv) argv = NULL;
+ g_auto(GStrv) env = NULL;
+ SysprofEnviron *environ;
+ const gchar *command;
+ gint argc;
+
+ command = gtk_entry_get_text (self->command_line);
+ g_shell_parse_argv (command, &argc, &argv, NULL);
+
+ sysprof_profiler_set_spawn (profiler, TRUE);
+ sysprof_profiler_set_spawn_argv (profiler, (const gchar * const *)argv);
+
+ environ = sysprof_environ_editor_get_environ (self->environ_editor);
+ env = sysprof_environ_get_environ (environ);
+ sysprof_profiler_set_spawn_env (profiler, (const gchar * const *)env);
+
+ sysprof_profiler_set_spawn_inherit_environ (profiler,
+ gtk_switch_get_active (self->inherit_switch));
+ }
+
g_signal_emit (self, signals [START_RECORDING], 0, profiler);
}
@@ -213,6 +241,9 @@ sysprof_profiler_assistant_class_init (SysprofProfilerAssistantClass *klass)
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, process_list_box);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, process_revealer);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, record_button);
+ gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, whole_system_switch);
+ gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, launch_switch);
+ gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, inherit_switch);
g_type_ensure (SYSPROF_TYPE_AID_ICON);
g_type_ensure (SYSPROF_TYPE_CPU_AID);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]