From e43bb78160d403a0d77759fcc2bc50fc0fc0337e Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 31 May 2020 23:56:25 +0200 Subject: Store modes by id --- src/command/mode.zig | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/command') diff --git a/src/command/mode.zig b/src/command/mode.zig index fb03bb5..364e399 100644 --- a/src/command/mode.zig +++ b/src/command/mode.zig @@ -31,5 +31,13 @@ pub fn mode( if (args.len > 2) return Error.TooManyArguments; const config = seat.input_manager.server.config; - seat.mode = config.getMode(args[1]); + const target_mode = args[1]; + seat.mode_id = config.mode_to_id.getValue(target_mode) orelse { + failure_message.* = try std.fmt.allocPrint( + allocator, + "cannot enter non-existant mode '{}'", + .{target_mode}, + ); + return Error.CommandFailed; + }; } -- cgit v1.2.3