X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=systemadm.vala;h=c761511c1c52f32a0c67f2f071716ed5675e9d35;hp=edb3a389bf58f6cbcc35e7f05f1533cd213216e6;hb=edddf4ff8841951cdbb698f72a3f4f8554ce8d33;hpb=c1e1601e8c6cace85b19a0eebe50076e5d119688 diff --git a/systemadm.vala b/systemadm.vala index edb3a389b..c761511c1 100644 --- a/systemadm.vala +++ b/systemadm.vala @@ -22,6 +22,8 @@ using GLib; using DBus; using Pango; +static bool session = false; + public class LeftLabel : Label { public LeftLabel(string? text = null) { if (text != null) @@ -68,7 +70,7 @@ public class MainWindow : Window { private RightLabel unit_description_label; private RightLabel unit_load_state_label; private RightLabel unit_active_state_label; - private RightLabel unit_load_path_label; + private RightLabel unit_fragment_path_label; private RightLabel unit_active_enter_timestamp_label; private RightLabel unit_active_exit_timestamp_label; private RightLabel unit_can_start_label; @@ -96,7 +98,6 @@ public class MainWindow : Window { notebook.append_page(job_vbox, new Label("Jobs")); job_vbox.set_border_width(12); - unit_model = new ListStore(6, typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Unit)); job_model = new ListStore(5, typeof(string), typeof(string), typeof(string), typeof(string), typeof(Job)); @@ -133,7 +134,7 @@ public class MainWindow : Window { unit_description_label = new RightLabel(); unit_load_state_label = new RightLabel(); unit_active_state_label = new RightLabel(); - unit_load_path_label = new RightLabel(); + unit_fragment_path_label = new RightLabel(); unit_active_enter_timestamp_label = new RightLabel(); unit_active_exit_timestamp_label = new RightLabel(); unit_can_start_label = new RightLabel(); @@ -161,8 +162,8 @@ public class MainWindow : Window { unit_table.attach(unit_load_state_label, 1, 2, 2, 3, AttachOptions.EXPAND|AttachOptions.FILL, AttachOptions.FILL, 0, 0); unit_table.attach(new LeftLabel("Active State:"), 0, 1, 3, 4, AttachOptions.FILL, AttachOptions.FILL, 0, 0); unit_table.attach(unit_active_state_label, 1, 2, 3, 4, AttachOptions.EXPAND|AttachOptions.FILL, AttachOptions.FILL, 0, 0); - unit_table.attach(new LeftLabel("Load Path:"), 0, 1, 4, 5, AttachOptions.FILL, AttachOptions.FILL, 0, 0); - unit_table.attach(unit_load_path_label, 1, 2, 4, 5, AttachOptions.EXPAND|AttachOptions.FILL, AttachOptions.FILL, 0, 0); + unit_table.attach(new LeftLabel("Fragment Path:"), 0, 1, 4, 5, AttachOptions.FILL, AttachOptions.FILL, 0, 0); + unit_table.attach(unit_fragment_path_label, 1, 2, 4, 5, AttachOptions.EXPAND|AttachOptions.FILL, AttachOptions.FILL, 0, 0); unit_table.attach(new LeftLabel("Active Enter Timestamp:"), 0, 1, 5, 6, AttachOptions.FILL, AttachOptions.FILL, 0, 0); unit_table.attach(unit_active_enter_timestamp_label, 1, 2, 5, 6, AttachOptions.EXPAND|AttachOptions.FILL, AttachOptions.FILL, 0, 0); unit_table.attach(new LeftLabel("Active Exit Timestamp:"), 0, 1, 6, 7, AttachOptions.FILL, AttachOptions.FILL, 0, 0); @@ -210,7 +211,7 @@ public class MainWindow : Window { bbox.pack_start(cancel_button, false, true, 0); - bus = Bus.get(BusType.SESSION); + bus = Bus.get(session ? BusType.SESSION : BusType.SYSTEM); manager = bus.get_object( "org.freedesktop.systemd1", @@ -311,7 +312,7 @@ public class MainWindow : Window { unit_description_label.set_text_or_na(); unit_load_state_label.set_text_or_na(); unit_active_state_label.set_text_or_na(); - unit_load_path_label.set_text_or_na(); + unit_fragment_path_label.set_text_or_na(); unit_active_enter_timestamp_label.set_text_or_na(); unit_active_exit_timestamp_label.set_text_or_na(); unit_can_reload_label.set_text_or_na(); @@ -323,7 +324,7 @@ public class MainWindow : Window { unit_description_label.set_text_or_na(unit.description); unit_load_state_label.set_text_or_na(unit.load_state); unit_active_state_label.set_text_or_na(unit.active_state); - unit_load_path_label.set_text_or_na(unit.load_path); + unit_fragment_path_label.set_text_or_na(unit.fragment_path); uint64 t = unit.active_enter_timestamp; if (t > 0) { @@ -514,14 +515,23 @@ public class MainWindow : Window { } } +static const OptionEntry entries[] = { + { "session", 0, 0, OptionArg.NONE, out session, "Connect to session bus", null }, + { "system", 0, OptionFlags.REVERSE, OptionArg.NONE, out session, "Connect to system bus", null }, + { null } +}; + int main (string[] args) { - Gtk.init(ref args); try { + Gtk.init_with_args(ref args, "[OPTION...]", entries, "systemadm"); + MainWindow window = new MainWindow(); window.show_all(); } catch (DBus.Error e) { message("%s", e.message); + } catch (GLib.Error e) { + message("%s", e.message); } Gtk.main();