From 7a4cf4b2563232d7793c78ecfe95f6f4fdb06f9d Mon Sep 17 00:00:00 2001 From: Foxe Chen Date: Sun, 29 Jun 2025 18:00:46 +0200 Subject: [PATCH] patch 9.1.1495: Wayland: uses $XDG_SEAT to determine seat Problem: Wayland: uses $XDG_SEAT to determine seat to use (dr0bz, after v9.1.1485) Solution: Do not try to determine the seat from $XDG_SEAT, remove the code that checks for this environment variable (Foxe Chen). related: https://github.com/vim/vim/issues/5157#issuecomment-3015248239 closes: #17625 Signed-off-by: Foxe Chen Signed-off-by: Christian Brabandt --- runtime/doc/options.txt | 5 ++--- src/version.c | 2 ++ src/wayland.c | 11 ++--------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index a7dd6a9e54..1b6cae7c70 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 9.1. Last change: 2025 Jun 28 +*options.txt* For Vim version 9.1. Last change: 2025 Jun 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -10086,8 +10086,7 @@ A jump table for the options with a short description can be found at |Q_op|. specifically the clipboard. If the seat does not exist, then the option will still be set to the new value, with the Wayland clipboard being unavailable as a result. If an empty value is passed then Vim - will attempt to use the value of $XDG_SEAT if it exists, if not then - it resorts to using the first seat found available. Updating this + will attempt to use the first seat found available. Updating this option will also update |v:clipmethod|. *'wlsteal'* *'wst'* *'nowlsteal'* *'nowst'* diff --git a/src/version.c b/src/version.c index f74b97b987..657d68ad2a 100644 --- a/src/version.c +++ b/src/version.c @@ -719,6 +719,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1495, /**/ 1494, /**/ diff --git a/src/wayland.c b/src/wayland.c index dc34925f9f..3fef423ebc 100644 --- a/src/wayland.c +++ b/src/wayland.c @@ -907,21 +907,14 @@ vwl_destroy_seat(vwl_seat_T *seat) /* * Return a seat with the give name/label. If none exists then NULL is returned. - * If NULL or an empty string is passed as the label then $XDG_SEAT is used - * else the first available seat found is used. + * If NULL or an empty string is passed as the label then the first available + * seat found is used. */ static vwl_seat_T * vwl_get_seat(const char *label) { if ((STRCMP(label, "") == 0 || label == NULL) && vwl_seats.ga_len > 0) - { - const char *xdg_seat = (char*)mch_getenv("XDG_SEAT"); - - if (xdg_seat == NULL) return &((vwl_seat_T *)vwl_seats.ga_data)[0]; - else - label = xdg_seat; - } for (int i = 0; i < vwl_seats.ga_len; i++) {