Шаг 1 :Создайте новый MIME-тип
В ~/.local/share/mime/packages/
создайте файл text-fig.pickle.xml
с содержимым:
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/fig.pickle">
<comment>my new mime type</comment>
<glob pattern="*.fig.pickle"/>
</mime-type>
</mime-info>
Имея этот xml-файл, обновите базу данных MIME-типов:
update-mime-database ~/.local/share/mime
Если в вашей системе установлена команда mimetype
, вы можете выполнить быструю проверку:
touch test.fig.pickle
mimetype test.fig.pickle
test.fig.pickle: text/fig.pickle
Шаг 2 :Создайте файл .desktop
для вашего приложения
В ~/.local/share/applications/
создайте файл view_fig_pickle.desktop
с содержимым:
[Desktop Entry]
Exec=view_fig_pickle.py %F
Icon=view_fig_pickle.png
Name=View Fig Pickle
Terminal=false
Type=Application
где
Exec
ваше приложение, которое является исполняемым и находится на вашем пути Icon
— это значок в ~/.icons
(, вы можете сохранить эту запись, даже если значок не существует)Name
— это текст, отображаемый в контекстном меню вашего файлового менеджера Шаг 3 :Свяжите свое приложение с новым типом mime
xdg-mime default view_fig_pickle.desktop text/fig.pickle
Подтвердить:
xdg-mime query default text/fig.pickle
view_fig_pickle.desktop
и
xdg-open test.fig.pickle
Это должно открыть test.fig.pickle
в view_fig_pickle.py
, также если вы щелкнете файл в своем файловом браузере.
Тем не менее, вам может потребоваться создать ассоциацию также в вашем файловом менеджере (щелкните правой кнопкой мыши -файл, выберите Open with...
и выберите View Fig Pickle
в подменю Other
).
Чтобы отменить эту модификацию:
Шаг 1 :Удалить MIME-тип
rm ~/.local/share/mime/packages/text-fig.pickle.xml
update-mime-database ~/.local/share/mime
Шаг 2 :Удалить связь
отредактируйте ~/.local/share/applications/mimeapps.list
и удалите строку сtext/fig.pickle=view_fig_pickle.desktop
Шаг 3 :Удалите устаревший .desktop
файл
rm.local/share/applications/view_fig_pickle.desktop
Первоначальные результаты кажутся просто несоответствиями.
Установлена последняя версия detex
от Homebrew:
$ detex -v
OpenDetex version 2.8.9
https://github.com/pkubowicz/opendetex
Получен пример файла LaTeX:
$ curl https://raw.githubusercontent.com/latex3/latex3/main/articles/2011-current-state.tex > file.tex
Сделано 100 копий файла:
$ for i in {1..100}; do cp file.tex "file${i}.tex"; done
Запустил версию cat
5 раз:
$ for i in {1..5}; do time cat *tex | detex | wc -w; done
78174
real 0m0.024s
user 0m0.025s
sys 0m0.012s
78174
real 0m0.021s
user 0m0.023s
sys 0m0.009s
78174
real 0m0.019s
user 0m0.020s
sys 0m0.008s
78174
real 0m0.019s
user 0m0.019s
sys 0m0.008s
78174
real 0m0.017s
user 0m0.018s
sys 0m0.008s
Прогонял не-cat
версию 5 раз:
$ for i in {1..5}; do time detex *tex | wc -w; done
78174
real 0m0.027s
user 0m0.023s
sys 0m0.009s
78174
real 0m0.024s
user 0m0.021s
sys 0m0.007s
78174
real 0m0.021s
user 0m0.020s
sys 0m0.005s
78174
real 0m0.019s
user 0m0.017s
sys 0m0.005s
78174
real 0m0.018s
user 0m0.016s
sys 0m0.005s