aboutsummaryrefslogtreecommitdiff
path: root/riverctl/main.zig
diff options
context:
space:
mode:
authorIsaac Freund <ifreund@ifreund.xyz>2021-04-15 00:28:39 +0200
committerIsaac Freund <ifreund@ifreund.xyz>2021-04-20 18:27:03 +0200
commitd08032d6850d28063c0715aa54b1c18e0d0b966d (patch)
tree582f6e1ef56b395ccf599708136589ee09cdcb7f /riverctl/main.zig
parent33fb7725c5a9d68d28bc2a30537210518aef3486 (diff)
downloadriver-d08032d6850d28063c0715aa54b1c18e0d0b966d.tar.gz
river-d08032d6850d28063c0715aa54b1c18e0d0b966d.tar.xz
river-options: rework, bump to v2
Options are now all global but may be overridden per-output. If an output local value is requested but none has been set, the global value is provided instead. This makes for much better ergonomics when configuring layout related options in particular.
Diffstat (limited to 'riverctl/main.zig')
-rw-r--r--riverctl/main.zig9
1 files changed, 6 insertions, 3 deletions
diff --git a/riverctl/main.zig b/riverctl/main.zig
index ebffb39..6fd6341 100644
--- a/riverctl/main.zig
+++ b/riverctl/main.zig
@@ -22,6 +22,7 @@ const assert = std.debug.assert;
const wayland = @import("wayland");
const wl = wayland.client.wl;
+const river = wayland.client.river;
const zriver = wayland.client.zriver;
const zxdg = wayland.client.zxdg;
@@ -36,7 +37,7 @@ pub const Output = struct {
pub const Globals = struct {
control: ?*zriver.ControlV1 = null,
- options_manager: ?*zriver.OptionsManagerV1 = null,
+ options_manager: ?*river.OptionsManagerV2 = null,
status_manager: ?*zriver.StatusManagerV1 = null,
seat: ?*wl.Seat = null,
output_manager: ?*zxdg.OutputManagerV1 = null,
@@ -87,6 +88,8 @@ fn _main() !void {
try options.getOption(display, &globals);
} else if (os.argv.len > 2 and mem.eql(u8, "set-option", mem.span(os.argv[1]))) {
try options.setOption(display, &globals);
+ } else if (os.argv.len > 2 and mem.eql(u8, "unset-option", mem.span(os.argv[1]))) {
+ try options.unsetOption(display, &globals);
} else if (os.argv.len > 2 and mem.eql(u8, "mod-option", mem.span(os.argv[1]))) {
try options.modOption(display, &globals);
} else {
@@ -115,8 +118,8 @@ fn registryListener(registry: *wl.Registry, event: wl.Registry.Event, globals: *
globals.seat = registry.bind(global.name, wl.Seat, 1) catch @panic("out of memory");
} else if (std.cstr.cmp(global.interface, zriver.ControlV1.getInterface().name) == 0) {
globals.control = registry.bind(global.name, zriver.ControlV1, 1) catch @panic("out of memory");
- } else if (std.cstr.cmp(global.interface, zriver.OptionsManagerV1.getInterface().name) == 0) {
- globals.options_manager = registry.bind(global.name, zriver.OptionsManagerV1, 1) catch @panic("out of memory");
+ } else if (std.cstr.cmp(global.interface, river.OptionsManagerV2.getInterface().name) == 0) {
+ globals.options_manager = registry.bind(global.name, river.OptionsManagerV2, 1) catch @panic("out of memory");
} else if (std.cstr.cmp(global.interface, zriver.StatusManagerV1.getInterface().name) == 0) {
globals.status_manager = registry.bind(global.name, zriver.StatusManagerV1, 1) catch @panic("out of memory");
} else if (std.cstr.cmp(global.interface, zxdg.OutputManagerV1.getInterface().name) == 0 and global.version >= 2) {