patch 9.1.1725: Wayland code can be improved
Problem: Wayland code can be improved Solution: Refactor Wayland Clipboard code (Foxe Chen) This refactor makes the Wayland codebase less convoluted: - Move clipboard code in wayland.c to clipboard.c - Use C99 bool type - Properly poll the Wayland display file descriptor - Instead of checking if the data source is not NULL in order to determine if a selection event comes from us, use a special mime type to identify selection events coming from ourselves. The problem with the previous approach is that race conditions may occur. - Put the focus stealing code under a new feature "wayland_focus_steal" - Use ELAPSED_* macros instead of gettimeofday() - Pass tests - Reimplement commented out code - Update docs - Make Wayland clipboard behaviour more in line with X11 when connection is lost - add missing malloc checks and possible memory leaks + refactored some tests. closes: #18139 Signed-off-by: Foxe Chen <chen.foxe@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
6a2d0496a1
commit
f50504a87b
@ -1,4 +1,4 @@
|
||||
*wayland.txt* For Vim version 9.1. Last change: 2025 Aug 27
|
||||
*wayland.txt* For Vim version 9.1. Last change: 2025 Sep 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -105,7 +105,8 @@ To solve this problem, Vim implements a way of gaining focus in order to
|
||||
access the clipboard, by creating a temporary transparent top-level surface.
|
||||
This is by default disabled and can be enabled via the 'wlsteal' option.
|
||||
Moreover, a seat that has a keyboard is also required, see 'wlseat', and the
|
||||
xdg-shell protocol must be available.
|
||||
xdg-shell protocol must be available. Additionally, Vim must be compiled with
|
||||
the |+wayland_focus_steal| feature.
|
||||
|
||||
Note that this method can have several side effects from the result of focus
|
||||
stealing. For example, if you have a taskbar that shows currently opened apps
|
||||
|
||||
Reference in New Issue
Block a user