inclement / vivarium

A dynamic tiling Wayland compositor using wlroots
GNU General Public License v3.0
367 stars 13 forks source link

Parse args = [] for keybinds #105

Closed capezotte closed 2 years ago

capezotte commented 2 years ago

Currently, the args property of a do_exec payload is never populated. While most programs are not bothered by this, some (including the foot terminal emulator, in my case) crash with obscure error messages such as:

err: slave.c:338: SHELL=/bin/bash: failed to execute: No such file or directory (obtained by disabling redirection of output to /dev/null at https://github.com/inclement/vivarium/blob/4928b4807c8cc0a2db6182e27f5a819412524585/src/viv_mappable_functions.c#L27).

This sets the user-provided executable key as the argv0 (preventing these crashes) as well as parsing an args array for additional arguments.

inclement commented 2 years ago

Thanks very much! Foot's failure to open is the main reason I didn't make it the default terminal emulator but I had no idea what was wrong and never got around to debugging it. I may switch the default over now.