Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // compile with: valac --pkg libwnck-3.0 -X -DWNCK_I_KNOW_THIS_IS_UNSTABLE --pkg x11 start-dark.vala
- int main(string[] args)
- {
- Gtk.init(ref args);
- if (args.length < 2)
- error("Please define a program");
- Pid pid = -1;
- try {
- Process.spawn_async(null, args[1:args.length - 1], Environ.get(), SpawnFlags.DO_NOT_REAP_CHILD, null, out pid);
- } catch (Error e) { error(e.message); }
- var screen = Wnck.Screen.get_default();
- screen.force_update();
- var dpy = new X.Display(null);
- var theme_variant = dpy.intern_atom("_GTK_THEME_VARIANT", false);
- var utf8_string = dpy.intern_atom("UTF8_STRING", false);
- Idle.add(() => {
- unowned List<Wnck.Window> windows = screen.get_windows();
- foreach (var window in windows) {
- if (window.get_pid() == pid) {
- dpy.change_property(window.get_xid(), theme_variant, utf8_string, 8, X.PropMode.Replace, (uchar[])"dark", 4);
- Gtk.main_quit();
- return false;
- }
- }
- return true;
- });
- Gtk.main();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement