Можно ли заставить libreoffice --writer сохранять новый файл в каталог запуска?

Автор McAaron, 3 марта 2026, 13:27

0 Пользователи и 1 гость просматривают эту тему.

McAaron

Добрый день!

Запускаю writer из терминала:

user@host:~/working_dir$ soffice25.8 --writer

В результате открывается writer с новым пустым файлом.
При сохранении этого нового файла предлагается его сохранить не в тот каталог, откуда был запущен writer, в данном случае это "~/working_dir", а в тот, в который сохранялся предыдущий файл. В связи с этим два вопроса в отношении запуска writer из комстроки:
1) можно ли заставить writer сохранять по умолчаниию новый файл там, откуда он запущен?
2) можно ли указать writer'у при запуске каталог, в который ему следует сохранить новый файл?

mikekaganski

С уважением,
Михаил Каганский

McAaron


sokol92

Цитата: McAaron от  3 марта 2026, 13:272) можно ли указать writer'у при запуске каталог, в который ему следует сохранить новый файл?
Если Вы располагаете неограниченным временем.

Вы можете запускать Writer скриптом оболочки (пакетным файлом).
Папка, куда будут сохраняться новые файлы Wtiter, задается следующими тегами файла registrymodifications.xcu:
<item oor:path="/org.openoffice.Office.Common/Misc/FilePickerLastDirectory">
  <node oor:name="WriterSaveAs" oor:op="replace">
    <prop oor:name="LastPath" oor:op="fuse">
      <value>file:///C:/Temp</value>
    </prop>
  </node>
</item>

В скрипте оболочки можно изменить тег перед запуском writer.
Владимир.

economist

Кстати, пользователи LO в обычном десктоп-режиме находят полезным макрос при старте LO, меняющий текущий каталог на "недавний", который берется из контекста - Recent-списка файлов, из значения env или заголовка к-либо окна. Это позволяет не только сохранить куда надо, но и открыть там где лежит нужное.

При этом %% юзеров, освоивших Быстрый доступ/Избранное/Закладки в "проводниках" не достиг и 20% (моя выборка 500 юзеров). Средне время на файловый мышиный дятло-броузинг в день - 4 минуты/user. В масштабах РФ (10 млн АРМ) это 10M * 4 мин / 60 мин * (100k/160 час) * 30,4 * 12 мес = 150 млрд рублей потерь в год (всего-то).
Пить не буду коньяка - читану Питоньяка!

McAaron

Цитата: sokol92 от 16 марта 2026, 19:30Вы можете запускать Writer скриптом оболочки (пакетным файлом).
Папка, куда будут сохраняться новые файлы Wtiter, задается следующими тегами файла registrymodifications.xcu:
<item oor:path="/org.openoffice.Office.Common/Misc/FilePickerLastDirectory">
  <node oor:name="WriterSaveAs" oor:op="replace">
    <prop oor:name="LastPath" oor:op="fuse">
      <value>file:///C:/Temp</value>
    </prop>
  </node>
</item>
Попробовал. Есть проблема -- в процессе создания первого нового документа считывается имя каталога "WriterSaveAs" из этого файла и глобально сохраняется для всех последующих создаваемых документов вне зависимости от того, поменяется ли содержимое "WriterSaveAs" или нет.

Однако, при запуске можно указать макрос, который будет выполняться сразу после открытия. Этот макрос мог бы "воткнуть" имя текущего или указанного каталога сохранения в "анналы" открытого документа.

С другой стороны, вот прочитал у Питоньяка:
"Функция CurDir, передающая в качестве аргумента спецификатор диска, возвращает текущий каталог для указанного диска. См. листинги Listing 153 и 57. Если аргумент опущен, возвращается текущий каталог для текущего диска. Спецификатор диска игнорируется в системах Unix. Начальное значение текущего каталога зависит от системы и может изменяться в зависимости от способа запуска OOo. Если вы запускаете OOo из командной строки, у вас, вероятно, будет другой текущий каталог, чем если вы запускаете OOo из меню или другого приложения. В некоторых операционных системах использование команды «Файл | Открыть» для открытия существующего документа устанавливает текущий каталог в каталог, содержащий открытый документ (я видел это в Windows). В некоторых операционных системах, таких как Linux, это не влияет на текущий каталог. Не полагайтесь на это поведение!"
Интересно, почему так?