aboutsummaryrefslogtreecommitdiff
path: root/riverctl/options.zig
diff options
context:
space:
mode:
Diffstat (limited to 'riverctl/options.zig')
-rw-r--r--riverctl/options.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/riverctl/options.zig b/riverctl/options.zig
index 99e0be5..41e3223 100644
--- a/riverctl/options.zig
+++ b/riverctl/options.zig
@@ -63,7 +63,7 @@ pub fn declareOption(display: *wl.Display, globals: *Globals) !void {
.int => setIntValueRaw(handle, raw_value),
.uint => setUintValueRaw(handle, raw_value),
.fixed => setFixedValueRaw(handle, raw_value),
- .string => handle.setStringValue(raw_value),
+ .string => handle.setStringValue(if (raw_value[0] == 0) null else raw_value),
}
_ = display.flush() catch os.exit(1);
}
@@ -156,7 +156,7 @@ fn getOptionListener(
.int_value => |ev| printOutputExit("{}", .{ev.value}),
.uint_value => |ev| printOutputExit("{}", .{ev.value}),
.fixed_value => |ev| printOutputExit("{d}", .{ev.value.toDouble()}),
- .string_value => |ev| printOutputExit("{}", .{ev.value}),
+ .string_value => |ev| if (ev.value) |s| printOutputExit("{}", .{s}) else os.exit(0),
}
}
@@ -180,7 +180,7 @@ fn setOptionListener(
.int_value => |ev| setIntValueRaw(handle, ctx.raw_value),
.uint_value => |ev| setUintValueRaw(handle, ctx.raw_value),
.fixed_value => |ev| setFixedValueRaw(handle, ctx.raw_value),
- .string_value => |ev| handle.setStringValue(ctx.raw_value),
+ .string_value => |ev| handle.setStringValue(if (ctx.raw_value[0] == 0) null else ctx.raw_value),
}
_ = ctx.display.flush() catch os.exit(1);
os.exit(0);