aboutsummaryrefslogtreecommitdiff
path: root/src/command/zoom.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/command/zoom.zig')
-rw-r--r--src/command/zoom.zig13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/command/zoom.zig b/src/command/zoom.zig
index b603a69..59156ab 100644
--- a/src/command/zoom.zig
+++ b/src/command/zoom.zig
@@ -15,16 +15,25 @@
// 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 c = @import("../c.zig");
-const Arg = @import("../Command.zig").Arg;
+const Error = @import("../command.zig").Error;
const Seat = @import("../Seat.zig");
const View = @import("../View.zig");
const ViewStack = @import("../view_stack.zig").ViewStack;
/// Bump the focused view to the top of the stack. If the view on the top of
/// the stack is focused, bump the second view to the top.
-pub fn zoom(seat: *Seat, arg: Arg) void {
+pub fn zoom(
+ allocator: *std.mem.Allocator,
+ seat: *Seat,
+ args: []const []const u8,
+ failure_message: *[]const u8,
+) Error!void {
+ if (args.len > 1) return Error.TooManyArguments;
+
if (seat.focused_view) |current_focus| {
const output = seat.focused_output;
const focused_node = @fieldParentPtr(ViewStack(View).Node, "view", current_focus);