Віддалений GVIM з Xming висить при втраті та відновленні фокусу


1

У мене є така настройка: ноутбук Windows 7 із встановленим Xming та FreeBSD з GVIM у VirtualBox. Я налаштував усе (встановив змінну DISPLAY env, відкрив порти, дозволив Xming приймати з'єднання поза межами localhost тощо), так що коли я виконую програму в оболонці на FreeBSD, вона відкриється як інше вікно на моєму робочому столі. В основному все працює.

За винятком того, що не зовсім. Цей параметр я використовую в основному для GVIM, і він працює дуже добре, якщо це єдина відкрита віддалена програма за один раз. Це не проблема в більшості випадків, але іноді я хочу відкрити ще одну програму X поряд з vim (в основному urxvt або gqview). У цьому випадку зміна фокусу від GVIM на інше віддалене застосування і назад призводить до того, що GVIM замерзає на кілька секунд, а потім він продовжує працювати, як раніше. Натискання клавіш не втрачається, і кнопка "X" працює (вбиває GVIM). Інші віддалені програми не демонструють такої поведінки.

В основному, кожного разу, коли я кладу клавішу alt + до іншого (але лише віддаленого!) Вікна, gvim на деякий час перестає реагувати (приблизно в середньому 15-20 секунд).

У мене є ще одна фізична скринька з FreeBSD і GVIM на ній, і вона відображає абсолютно таку ж поведінку. Я склав GVIM з портів із наступними параметрами, як задано :version:

Duża wersja z GTK2 GUI.  Opcje włączone (+) lub nie (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal
+cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap -lua +menu
+mksession +modify_fname +mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm +mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme
+netbeans_intg -osfiletype +path_extra -perl +persistent_undo +postscript +printer -profile +python -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title +toolbar
 +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim +xsmp_interact
+xterm_clipboard -xterm_save
       vimrc systemu: "$VIM/vimrc"
   vimrc użytkownika: "$HOME/.vimrc"
    exrc użytkownika: "$HOME/.exrc"
     gvimrc systemu: "$VIM/gvimrc"
  gvimrc użytkownika: "$HOME/.gvimrc"
 systemowy plik menu: "$VIMRUNTIME/menu.vim"
   odwet dla $VIM-a: "/usr/local/share/vim"
Kompilacja: cc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/inc
lude/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include -I/us
r/local/include/glib-2.0 -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng -I/usr/local/include  -O2 -pipe -fno-strict-aliasing
-D_FORTIFY_SOURCE=1
Konsolidacja: cc -L/usr/local/lib -lXt -L. -L/usr/lib  -rpath=/usr/lib:/usr/local/lib -pthread -rdynamic  -L/usr/local/lib -Wl,--as-needed -o vim     -pthread -L/usr/lo
cal/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0 -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lgdk_pixbuf-2.0 -lpangoft2-1.
0 -lgio-2.0 -lXfixes -lcairo -lX11 -lpango-1.0 -lm -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0  -lSM -lICE -lXpm  -lXt  -lXdmcp -lSM -l
ICE  -lm -lelf  -pthread -ltermlib -liconv -lintl          -L/usr/local/lib/python2.7/config -lpython2.7 -lutil -lm -Wl,--export-dynamic      -Wl,-R -Wl,/usr/local/lib
-L/usr/local/lib -lruby18 -lcrypt -lm -L/usr/lib  -rpath=/usr/lib:/usr/local/lib -pthread

Скажіть, будь ласка, одне з двох: що робити, щоб подібна поведінка пішла або де я могла задати це питання, щоб мати найбільшу ймовірність отримати відповідь?

Дякую!


Тільки здогадуючись, чи намагалися ви використовувати інший інструментарій, наприклад, атена чи мотив? Вони менш роздуті, тому може бути швидше. Оскільки ви перебуваєте на потворних вікнах, неважливо, що вони не такі гарні, як GTK UI :)
заарештовано

@arved звучить добре! Я спробую перекомпілювати з іншими gui.
cji
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.