aboutsummaryrefslogtreecommitdiff
path: root/src/command/spawn.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/command/spawn.zig')
-rw-r--r--src/command/spawn.zig47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/command/spawn.zig b/src/command/spawn.zig
deleted file mode 100644
index 880483a..0000000
--- a/src/command/spawn.zig
+++ /dev/null
@@ -1,47 +0,0 @@
-// This file is part of river, a dynamic tiling wayland compositor.
-//
-// Copyright 2020 Isaac Freund
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-const std = @import("std");
-
-const Error = @import("../command.zig").Error;
-const Seat = @import("../Seat.zig");
-
-/// Spawn a program.
-pub fn spawn(
- allocator: *std.mem.Allocator,
- seat: *Seat,
- args: []const []const u8,
- failure_message: *[]const u8,
-) Error!void {
- if (args.len < 2) return Error.NotEnoughArguments;
-
- const cmd = try std.mem.join(allocator, " ", args[1..]);
- defer allocator.free(cmd);
-
- const child_args = [_][]const u8{ "/bin/sh", "-c", cmd };
- const child = try std.ChildProcess.init(&child_args, allocator);
- defer child.deinit();
-
- std.ChildProcess.spawn(child) catch |err| {
- failure_message.* = try std.fmt.allocPrint(
- allocator,
- "failed to spawn {}: {}.",
- .{ cmd, err },
- );
- return Error.CommandFailed;
- };
-}