diff --git a/src/chat_gui4.cpp b/src/chat_gui4.cpp index a8531472..4a91c69e 100644 --- a/src/chat_gui4.cpp +++ b/src/chat_gui4.cpp @@ -17,6 +17,7 @@ #include "./media_meta_info_loader.hpp" #include "./sdl_clipboard_utils.hpp" +#include "SDL_clipboard.h" #include #include @@ -492,6 +493,18 @@ void ChatGui4::render(float time_delta) { _text_input_buffer.clear(); evil_enter_looses_focus_hack = true; } + + // welcome to linux + if (ImGui::IsMouseClicked(ImGuiMouseButton_Middle)) { + if (!ImGui::IsItemFocused()) { + ImGui::SetKeyboardFocusHere(-1); + } + char* primary_text = SDL_GetPrimarySelectionText(); + if (primary_text != nullptr) { + ImGui::GetIO().AddInputCharactersUTF8(primary_text); + SDL_free(primary_text); + } + } } ImGui::EndChild(); ImGui::SameLine();