View Issue Details

IDProjectCategoryView StatusLast Update
0003858PluginsEMenupublic2021-04-08 19:48
Reporteranton12345 Assigned ToDrKnS  
PrioritynormalSeveritymajorReproducibilityalways
Status feedbackResolutionopen 
Platformx64OSWindows 
Product Version3.0 
Summary0003858: msgcenter not exist. can not show menu.
DescriptionКогда я вызываю EMenu для файла (кликаю правой кнопкой мыши по файлу или делаю это через меню плагинов: F11 -> EMenu -> Context Menu), в консоли появляются следующие сообщения:

(2021-04-07 21:49:49) [WARN ] [ShareMenu] menu init.
(2021-04-07 21:49:49) [ERROR] [ShareMenu] msgcenter not exist.
(2021-04-07 21:49:49) [ERROR] [ShareMenu] can not show menu.

Несмотря на сообщения об ошибках, само графическое меню при этом появляется. Всё бы ничего, но после вывода сообщений в консоль интерфейс программы "едет" и им становится невозможно пользоваться. Проблема решается двойным нажатием Ctrl+O для перерисовки интерфейса.

Особенности:
  • Проблема воспроизводится только когда вызываешь EMenu для файлов. Для папок ошибок не выдаётся.
  • Проблема стала воспроизводиться только после недавнего обновления Windows 10 (у меня английская версия). Это произошло с месяц назад.

Как пытался решить проблему:
  • Удалял все внешние плагины.
  • Удалял Far и устанавливал заново.
  • Удалял профайл AppData\Local\Far Manager.
  • Ставил ночную сборку 2021-04-07.
Steps To Reproduce
  1. Выбрать файл.
  2. Нажать F11 -> Emenu -> Context Menu
TagsNo tags attached.

Activities

anton12345

2021-04-07 13:34

reporter   bugnote:0017052

Обнаружил, что проблема не воспроизводится на 32-битном Far.

DrKnS

2021-04-07 17:41

administrator   bugnote:0017053

https://forum.farmanager.com/viewtopic.php?t=11580

anton12345

2021-04-08 14:15

reporter   bugnote:0017054

Варианты, как это пофиксить на стороне Far:
  • Добавить опцию в EMenu, чтобы после вызова контекстного меню интерфейс Far полностью перерисовывался. Я пытался сделать это с помощью макроса. Записывал макрос, который после вызова контекстного меню делал двойное Ctlr+O. Но это не сработало, потому что Far не перерисовывает интерфейс после макроса, если видит, что интерфейс не изменился. Минус данного подхода - часть интерфейса Far (которая уехала за пределы видимости окна консоли) остаётся в буфере прокрутки.
  • Добавить опцию в EMenu, чтобы перед вызовом контекстного меню, интерфейс Far скрывался, а после восстанавливался. В этом случае вывод в консоль элементов контекстного меню будет аналогичен выводу консольных программ, запущенных из Far. Часть интерфейса Far не будет оставаться в буфере прокрутки. Минус данного подхода - консоль будет чёрная на время вызова контекстного меню.
  • Может, как-то можно запустить контекстное меню, не давая ему консоли?
Меня бы, в принципе, вариант 2 вполне устроил.

DrKnS

2021-04-08 19:48

administrator   bugnote:0017055

Может, как-то можно запустить контекстное меню, не давая ему консоли?

Build 66 (2afd14e)

Issue History

Date Modified Username Field Change
2021-04-07 13:16 anton12345 New Issue
2021-04-07 13:34 anton12345 Note Added: 0017052
2021-04-07 17:41 DrKnS Note Added: 0017053
2021-04-08 14:15 anton12345 Note Added: 0017054
2021-04-08 19:48 DrKnS Assigned To => DrKnS
2021-04-08 19:48 DrKnS Status new => feedback
2021-04-08 19:48 DrKnS Note Added: 0017055