enhancement: update version printing format (#254)

* enhancement: update version printing format

as mentioned in #253, version numbers can be confusing if you don't know
or realize you're running SwayFX instead of standard sway.

to fix this issue, I've updated the way we display versions, replacing
"sway version X" to "swayfx version X", suffixed by the sway upstream
version which swayfx is based upon.

while not immediately displaying we come from swayfx in
swaymsg/swaynag/swaybar, we do display we're based off a specific
upstream sway version.

note: this requires updating `meson.build` (currently `meson.build:181`)
each time we rebase into a new sway version.

Closes: Issue #253
Signed-off-by: Mazunki Hoksaas <rolferen@gmail.com>

* reduce linelength

---------

Signed-off-by: Mazunki Hoksaas <rolferen@gmail.com>
This commit is contained in:
Rolf Vidar Mazunki Hoksaas 2024-02-15 03:29:04 +01:00 committed by GitHub
parent cf3ef50a3f
commit 271af3d474
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 15 additions and 9 deletions

View file

@ -178,6 +178,7 @@ if git.found()
endif endif
endif endif
add_project_arguments('-DSWAY_VERSION=@0@'.format(version), language: 'c') add_project_arguments('-DSWAY_VERSION=@0@'.format(version), language: 'c')
add_project_arguments('-DSWAY_ORIGINAL_VERSION="1.8.1"', language: 'c')
# Compute the relative path used by compiler invocations. # Compute the relative path used by compiler invocations.
source_root = meson.current_source_dir().split('/') source_root = meson.current_source_dir().split('/')

View file

@ -209,6 +209,7 @@ json_object *ipc_json_get_version(void) {
sscanf(SWAY_VERSION, "%d.%d.%d", &major, &minor, &patch); sscanf(SWAY_VERSION, "%d.%d.%d", &major, &minor, &patch);
json_object_object_add(version, "human_readable", json_object_new_string(SWAY_VERSION)); json_object_object_add(version, "human_readable", json_object_new_string(SWAY_VERSION));
json_object_object_add(version, "sway_original_version", json_object_new_string(SWAY_ORIGINAL_VERSION));
json_object_object_add(version, "variant", json_object_new_string("sway")); json_object_object_add(version, "variant", json_object_new_string("sway"));
json_object_object_add(version, "major", json_object_new_int(major)); json_object_object_add(version, "major", json_object_new_int(major));
json_object_object_add(version, "minor", json_object_new_int(minor)); json_object_object_add(version, "minor", json_object_new_int(minor));

View file

@ -288,7 +288,7 @@ int main(int argc, char **argv) {
allow_unsupported_gpu = true; allow_unsupported_gpu = true;
break; break;
case 'v': // version case 'v': // version
printf("sway version " SWAY_VERSION "\n"); printf("swayfx version " SWAY_VERSION " (based on sway " SWAY_ORIGINAL_VERSION ")\n");
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
break; break;
case 'V': // verbose case 'V': // verbose
@ -335,7 +335,7 @@ int main(int argc, char **argv) {
wlr_log_init(WLR_ERROR, handle_wlr_log); wlr_log_init(WLR_ERROR, handle_wlr_log);
} }
sway_log(SWAY_INFO, "Sway version " SWAY_VERSION); sway_log(SWAY_INFO, "swayfx version " SWAY_VERSION " (based on sway version " SWAY_ORIGINAL_VERSION ")");
sway_log(SWAY_INFO, "wlroots version " WLR_VERSION_STR); sway_log(SWAY_INFO, "wlroots version " WLR_VERSION_STR);
log_kernel(); log_kernel();
log_distro(); log_distro();
@ -373,7 +373,8 @@ int main(int argc, char **argv) {
// prevent ipc from crashing sway // prevent ipc from crashing sway
signal(SIGPIPE, SIG_IGN); signal(SIGPIPE, SIG_IGN);
sway_log(SWAY_INFO, "Starting sway version " SWAY_VERSION); sway_log(SWAY_INFO, "Starting swayfx version " SWAY_VERSION
" (based on sway version " SWAY_ORIGINAL_VERSION ")");
root = root_create(); root = root_create();

View file

@ -55,7 +55,7 @@ int main(int argc, char **argv) {
swaybar.id = strdup(optarg); swaybar.id = strdup(optarg);
break; break;
case 'v': case 'v':
printf("swaybar version " SWAY_VERSION "\n"); printf("swaybar version " SWAY_VERSION " (based on sway " SWAY_ORIGINAL_VERSION ")\n");
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
break; break;
case 'd': // Debug case 'd': // Debug

View file

@ -294,9 +294,12 @@ static void pretty_print_output(json_object *o) {
} }
static void pretty_print_version(json_object *v) { static void pretty_print_version(json_object *v) {
json_object *ver; json_object *swayfx_ver;
json_object_object_get_ex(v, "human_readable", &ver); json_object *sway_ver;
printf("sway version %s\n", json_object_get_string(ver)); json_object_object_get_ex(v, "human_readable", &swayfx_ver);
json_object_object_get_ex(v, "sway_original_version", &sway_ver);
printf("swayfx version %s (based on sway %s)\n",
json_object_get_string(swayfx_ver), json_object_get_string(sway_ver));
} }
static void pretty_print_config(json_object *c) { static void pretty_print_config(json_object *c) {
@ -470,7 +473,7 @@ int main(int argc, char **argv) {
cmdtype = strdup(optarg); cmdtype = strdup(optarg);
break; break;
case 'v': case 'v':
printf("swaymsg version " SWAY_VERSION "\n"); printf("swaymsg version " SWAY_VERSION " (based on sway " SWAY_ORIGINAL_VERSION ")\n");
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
break; break;
default: default:

View file

@ -278,7 +278,7 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag,
} }
break; break;
case 'v': // Version case 'v': // Version
printf("swaynag version " SWAY_VERSION "\n"); printf("swaynag version " SWAY_VERSION " (based on sway " SWAY_ORIGINAL_VERSION ")\n");
return -1; return -1;
case TO_COLOR_BACKGROUND: // Background color case TO_COLOR_BACKGROUND: // Background color
if (type && !parse_color(optarg, &type->background)) { if (type && !parse_color(optarg, &type->background)) {