### Godot version

4.0 beta 17

### System information

Manjaro Linux (DE: Cinnamon v5.6.7) 64 bits

### Issue description

First, I apologize if this is a duplicate, but I haven't found anything in the reported bugs corresponding to what I encounter.

When trying to rename a node from the tree using the mouse, it is not possible to position the caret (cursor) with the mouse as it cancels the editing. The video is more explicit about the problem: all I do in this video is clicking once on the node to access the editing of the node name. Then I try to click to position the caret somewhere but the edition is then closed.

In the video, no keyboard is involved, only using the mouse normally (but renaming using F2 leads to the same result).

Once again, this only occurs when Single Window Mode is **enabled**.

https://user-images.githubusercontent.com/102065761/216832755-5126ba6e-1523-4aa0-ba15-d37e65a329d9.mp4



### Steps to reproduce

- Activate the Single Window Mode
- Create a node in the tree view and begin to rename it (F2 or mouse click)
- Using mouse only, place the caret anywhere in the edit

### Minimal reproduction project

N/A
#include <sys/types.h>
#include <unistd.h>
#define WM_NormalState 1L  window normal state
#define WM_IconicState 3L  window minimized
#define _NET_WM_STATE_REMOVE 0L  remove/unset property
#define _NET_WM_STATE_ADD 1L  add/set property
#undef CursorShape
#include <X11/XKBlib.h>
#define XINPUT_CLIENT_VERSION_MAJOR 2
#define XINPUT_CLIENT_VERSION_MINOR 2
#define VALUATOR_ABSX 0
#define VALUATOR_ABSY 1
#define VALUATOR_PRESSURE 2
#define VALUATOR_TILTX 3
#define VALUATOR_TILTY 4
#ifdef DISPLAY_SERVER_X11_DEBUG_LOGS_ENABLED
#define DEBUG_LOG_X11(...) printf(__VA_ARGS__)
#else
#define DEBUG_LOG_X11(...)
#endif
static const double abs_resolution_mult = 10000.0;
static const double abs_resolution_range_mult = 10.0;
struct Hints {
	unsigned long flags = 0;
	unsigned long functions = 0;
	unsigned long decorations = 0;
	long inputMode = 0;
	unsigned long status = 0;
};
static String get_atom_name(Display *p_disp, Atom p_atom) {