Вопрос или проблема
Используя Thunderbird 128.5.2esr
и дополнение tbkeys-lite 2.3.0
, я не могу понять, как открыть Панель календаря, установленную в окне Список календарей (где также показан мини-месяц). Это окно выдвигается слева. Я хотел бы, чтобы оно было управляемо подобно тому, как F11 переключает панель События.
Это окно обычно доступно через меню “Файл” из Вид / Календарь / Панель календаря / Показать панель календаря. Было бы удобно нажимать что-то вроде F3, чтобы переключать эту панель.
Знаете ли вы способ это сделать?
Наблюдение за командой через консоль ошибок показывает выполнение TogglePaneSplitter(‘calsidebar’). Но я не уверен, как связать это с F3.
Вы не можете этого сделать. Нет cmd:
или func:
, который бы работал, так как команда calendar_toggle_calendarsidebar_command
не использует goDoCommand
, как указано в документации. И func:
может выполнять только базовые функции без аргументов.
Вам придется установить обычное, не-облегченное tbkeys дополнение отсюда здесь. Оно позволяет выполнять любой JS (внимание: менее безопасно, используйте на свой страх и риск), включая тот, который вы упомянули, добавив:
"f3": "window.togglePaneSplitter('calsidebar_splitter')"
в Основные горячие клавиши в Опциях дополнения.
Есть два способа ответить на мой вопрос. Ответ, предоставленный @Destroy666, является лучшим. Однако, для тех, кто хочет писать пользовательские JavaScript функции для изменения случайных графических элементов Thunderbird с пользовательскими сочетаниями клавиш, то читайте дальше.
Обзор
- Используйте не-облегченную версию tbkeys.
- Получите ID html элемента, который вас интересует, с помощью Инструментов разработчика и кнопки Выбрать элемент на странице. В моем случае, я обнаружил, что элемент, который я хотел контролировать, называется calsidebar_splitter.
- Создайте пользовательскую JavaScript функцию для переключения панели calsidebar_splitter. В моем случае в Thunderbird уже была команда для этого под названием togglePaneSplitter.
- Свяжите пользовательскую функцию с записью горячей клавиши tbkeys.
Как сделать:
Скачайте не-облегченную версию файла tbkeys.xpi. Я использую версию 2.3.0. В менеджере Дополнения и темы Thunderbird выберите Установить дополнение из файла. В разделе Основные горячие клавиши tbkeys вставьте следующий код.
Мы используем метод togglePaneSplitter, как указано в исходном файле Thunderbird calendar-commands.inc.xhtml.
"f3": "window.togglePaneSplitter('calsidebar_splitter')"
Решение предоставлено. Вы закончили. Если вы хотите создавать пользовательские функции, вы можете сделать следующее:
Обратите внимание, что код без пробелов.
{
"f3": "(function(){var sidebar=window.document.getElementById('calsidebar_splitter');if(sidebar){sidebar.setAttribute('state',sidebar.getAttribute('state')==='collapsed'?'open':'collapsed');}})();"
}
Теперь, мой вопрос на улучшение. Если я хотел бы вызвать ссылку на свою функцию в gui tbkeys, вместо того чтобы вставлять её полностью, как я могу это сделать и вызвать функцию так?
“f3”: “func:MyCustomFunctionName”
Я не смог определить, как загрузить именованную функцию из внешнего источника.
Ответ или решение
Вопрос о возможности настройки клавиатурного сокращения в Thunderbird для переключения панели календаря может показаться сложным, но с использованием определенных инструментов и техник это вполне достижимо. Если вы используете Thunderbird версии 128.5.2esr и дополнение tbkeys-lite версии 2.3.0, вам придется немного поработать с настройками.
Подробная инструкция
Проблема и решение
Панель календаря, которую вы хотите контролировать, обычно доступна через меню: View / Calendar / Calendar Pane / Show Calendar Pane. Необходимость заключается в том, чтобы создать горячую клавишу, например, F3, для её переключения.
К сожалению, команда calendar_toggle_calendarsidebar_command
не использует goDoCommand
, что затрудняет её интеграцию с tbkeys-lite, поскольку это расширение позволяет выполнять только базовые функции. Однако, для решения этой задачи вы можете использовать "необлегченную" версию tbkeys.
Шаги для настройки скрипта
-
Загрузите полную версию tbkeys: Перейдите на GitHub-репозиторий tbkeys и скачайте файл
tbkeys.xpi
для установки в Thunderbird. -
Определите идентификатор HTML-элемента: Используйте инструменты разработчика в Thunderbird, чтобы определить нужный элемент. В вашем случае, это
calsidebar_splitter
. -
Настройте JavaScript-функцию: Вы уже упомянули использование метода
togglePaneSplitter
. Включите следующий код в основные привязки клавиш tbkeys:"f3": "window.togglePaneSplitter('calsidebar_splitter')"
-
Добавьте код в настройки tbkeys: Перейдите в Диспетчер дополнений Thunderbird, и в разделе Основные привязки клавиш tbkeys вставьте вышеуказанный код.
Персонализация и улучшения
Если хотите созидать кастомные функции, используйте следующий подход:
{
"f3": "(function(){var sidebar=window.document.getElementById('calsidebar_splitter');if(sidebar){sidebar.setAttribute('state',sidebar.getAttribute('state')==='collapsed'?'open':'collapsed');}})();"
}
Вопрос о внешнем вызове функции
Процесс вызова внешней функции в GUI tbkeys остается нерешенным. В данный момент это возможно, но требует глубокого погружения в JavaScript и архитектуру дополнения. Тем не менее, это может быть отличным направлением для профессионального исследования и потенциального развития продукта.
Заключение
Это руководство должно помочь вам настроить возможность управления панелью календаря с помощью горячих клавиш в Thunderbird. Хотя этот процесс включает определенные риски из-за необходимости использования JavaScript и модифицированных расширений, он предоставляет гибкость и персонализацию, которые могут быть полезны в работе с Thunderbird. Надеюсь, этот подход окажется полезным, и вы сможете оптимизировать свой рабочий процесс с почтовым клиентом.