using DBus;
using Pango;
+static bool session = false;
+
public class LeftLabel : Label {
public LeftLabel(string? text = null) {
if (text != null)
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));
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",
}
}
+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();
static string type = null;
static bool all = false;
static bool replace = false;
+static bool session = false;
public static int job_info_compare(void* key1, void* key2) {
Manager.JobInfo *j1 = (Manager.JobInfo*) key1;
}
static const OptionEntry entries[] = {
- { "type", 't', 0, OptionArg.STRING, out type, "List only particular type of units", "TYPE" },
- { "all", 'a', 0, OptionArg.NONE, out all, "Show all units, including dead ones", null },
- { "replace", 0, 0, OptionArg.NONE, out replace, "When installing a new job, replace existing conflicting ones.", null },
+ { "type", 't', 0, OptionArg.STRING, out type, "List only particular type of units", "TYPE" },
+ { "all", 'a', 0, OptionArg.NONE, out all, "Show all units, including dead ones", null },
+ { "replace", 0, 0, OptionArg.NONE, out replace, "When installing a new job, replace existing conflicting ones", null },
+ { "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) {
- OptionContext context = new OptionContext(" [COMMAND [ARGUMENT...]]");
+ OptionContext context = new OptionContext("[OPTION...] [COMMAND [ARGUMENT...]]");
context.add_main_entries(entries, null);
context.set_description(
"Commands:\n" +
}
try {
- Connection bus = Bus.get(BusType.SESSION);
+ Connection bus = Bus.get(session ? BusType.SESSION : BusType.SYSTEM);
Manager manager = bus.get_object (
"org.freedesktop.systemd1",