diff options
-rw-r--r-- | meson.build | 12 | ||||
-rw-r--r-- | meson_options.txt | 1 | ||||
-rw-r--r-- | sway/ipc-server.c | 10 |
3 files changed, 14 insertions, 9 deletions
diff --git a/meson.build b/meson.build index 766bf012..c50fab17 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,7 @@ project( 'sway', 'c', + version: '1.0', license: 'MIT', meson_version: '>=0.48.0', default_options: [ @@ -127,17 +128,12 @@ endif add_project_arguments('-DSYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c') -version = get_option('sway-version') -if version != '' - version = '"@0@"'.format(version) -else - if not git.found() - error('git is required to make the version string') - endif - +if git.found() git_commit_hash = run_command([git.path(), 'describe', '--always', '--tags']).stdout().strip() git_branch = run_command([git.path(), 'rev-parse', '--abbrev-ref', 'HEAD']).stdout().strip() version = '"@0@ (" __DATE__ ", branch \'@1@\')"'.format(git_commit_hash, git_branch) +else + version = '"@0@"'.format(meson.project_version()) endif add_project_arguments('-DSWAY_VERSION=@0@'.format(version), language: 'c') diff --git a/meson_options.txt b/meson_options.txt index 04b29e17..d3667acf 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,4 +1,3 @@ -option('sway-version', type : 'string', description: 'The version string reported in `sway --version`.') option('default-wallpaper', type: 'boolean', value: true, description: 'Install the default wallpaper.') option('zsh-completions', type: 'boolean', value: true, description: 'Install zsh shell completions.') option('bash-completions', type: 'boolean', value: true, description: 'Install bash shell completions.') diff --git a/sway/ipc-server.c b/sway/ipc-server.c index d1920cfd..eb6f159d 100644 --- a/sway/ipc-server.c +++ b/sway/ipc-server.c @@ -595,6 +595,16 @@ void ipc_client_handle_command(struct ipc_client *client) { switch (client->current_command) { case IPC_COMMAND: { + char *line = strtok(buf, "\n"); + while (line) { + size_t line_length = strlen(line); + if (line + line_length >= buf + client->payload_length) { + break; + } + line[line_length] = ';'; + line = strtok(NULL, "\n"); + } + list_t *res_list = execute_command(buf, NULL, NULL); transaction_commit_dirty(); char *json = cmd_results_to_json(res_list); |