Я, як правило, працюю з SVG як текстові файли, тому хотів би, щоб глядач автоматично оновлював дисплей, як тільки файл був збережений (і зміст його змінено) - це, мабуть, стосується ситуацій, які можна «відстежувати», я думаю (тобто з назвами труби).
Зауважте, що для програм Gnome за замовчуванням:
evinceв даний час працює так, як PDF-файли, але, здається, він не може читати SVG (для мене він створює " Unable to open document - Error opening file: Permission denied", коли я намагався завантажити SVG-файли)
eog(Eye Of Gnome) - останні версії - також може виявити, чи змінився файл на цьому, а потім запропонувати кнопку "Перезавантажити"; але, мабуть, вам все одно доведеться натискати кнопку "Перезавантажити" кожен раз (я не бачу способу викликати автоматичне перезавантаження завжди при зміні файлів eog, як це evinceповодиться з PDF-файлами) - а також, принаймні, на моїй eogпідтримці Ubuntu 10.04, SVG дещо порушено (масштабування результатів розмитими лініями)
- ImageMagick
displayне тільки автоматично оновлюється, коли файл змінюється на диску - і навіть при натисканні кнопки «оновити» displayви все одно не отримуєте останню версію файлу (тобто, вам потрібно перезапустити, displayщоб показати останню версію :() .
Ось ще кілька записок, які я знайшов поки що:
- Стриг, браузер SVG Браузер SVG, який є частиною набору інструментів Batik. - Завантажити Batik batik-1.7.zip; розпакуйте його; біжи
java -jar batik-squiggle.jarі ось воно; не оновлює зображення автоматично, якщо файл svg змінився на диску
- Переглядач зображень SVG? - Рекомендації форумів Ubuntu :
- У публікації № 8 - " Я написав маленький скрипт python ... Ви просто запускаєте його як: svg_compare.py, і він відкриває svg і відображає його за допомогою бібліотеки svg та за допомогою растрової бібліотеки gtk. Ви можете масштабувати мишею. .. "
xsvg(з http://cairographics.org ) - я встановив libsvg1_0.1.4-1_i386.deb , libsvg-cairo1_0.1.6-5_i386.deb та xsvg_0.2.1-3_i386.deb у тому порядку; ці версії з 2005 року, і так xsvgнадзвичайно просто - ні масштабування, нічого .. І зайве сказати, що він автоматично не реагує на збережені зміни файлів ...
- завдяки цьому я виявив
rsvg-view, що, на мою думку, є частиною sudo apt-get install librsvg2-bin. Його маленький, приємний, підтримує stdin - однак також rsvg-viewне може виявити зміну файлу і автоматично оновити на ньому ..
Так - я сподіваюся, що це допоможе ...
Будьте здорові!
EDIT (24 грудня 10): ну ось і мій внесок: svg_refreshview.py - який в основному є переробкою svg_compare.pyзгаданого вище, що просто показує файл SVG, а також перезавантажує файл і оновить дисплей, якщо файл був змінений . ( він не може реально працювати зі stdin - але в моєму репо є інші сценарії, які розбирають stdin у python, можливо, вони допоможуть ).
EDIT2 (20 травня '12): Також придумав приклад сценарію Perl-Tk, який є дуже грубим ( відсутність взаємодії з мишею, нічого ), але використовує ImageMagick Perl API, і таким чином може рендерувати SVG (як растрові карти на полотні ), див. відповідь №10670039 - API ImageMagick для інтерфейсу додатків GUI командного рядка display- Переповнення стека .