LINUX.ORG.RU

Simple Viewer GL 2.75

 , ,


3

5

Simple Viewer GL — легковесный просмотрщик изображений.

Интерфейс состоит из одного окна с опциональной строкой статуса и информацией о пикселе под курсором и/или выделенной области (скриншот). Simple Viewer GL умеет определять тип файла по его сигнатуре, а не только по расширению, а также рекурсивно сканировать директорию.

Работает в GNU/Linux и macOS.

Новое в 2.75

  • Добавлена поддержка формата XPM (собственная реализация).
  • Добавлена поддержка формата TARGA (собственная реализация).
  • Убрана зависимость от библиотеки libconfig++ в пользу ini-подобного конфигурационного файла.
  • Улучшена поддержка форматов DDS, ICO и XWD.
  • Обновлена палитра ZX-Spectrum (теперь это PULSAR, как на «железном» ZX).
  • Добавлена возможность сохранять зум (переключается по хоткею <shift>+<s>).
  • Исправлена ошибка с фильтрацией текстур.
  • Улучшено сканирование директории, поддержка перетаскивания списка файлов.

Поддерживаемые форматы

Сторонняя реализация:

  • PNG (libpng);
  • JPEG (libjpeg);
  • TIFF (libtiff);
  • GIF (giflib);
  • WEBP (webp).

Собственная реализация:

  • PPM (24 raw и 24 ASCII);
  • XPM (только xpm 2);
  • TARGA;
  • DDS (частично);
  • PSD (формат до конца не отреверсили, посему не все функции поддерживаются);
  • ICO (png и «обычные» фреймы);
  • XWD (только x11);
  • SCR (ZX-Spectrum screen);
  • PVR, RAW, AGE (это внутренние форматы).

>>> Simple Viewer GL на BitBucket

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 10)

Ответ на: комментарий от Linfan

Нет. Функция cmsCreate_sRGBProfile() создает хендл встроенного профайла.

Спасибо, уже разобрался и сделал поддержку. Теперь та картинка отображается правильно. Ну или почти правильно.

Завтра разберусь, как извлекать icc из png и tiff и тогда залью новый билд.

andreyu ★★★★★
() автор топика

1. gif-анимацию умеет?

2. в каких-нибудь дистрах есть в репах?

3. > Работает в GNU/Linux и macOS. < > нипонял, а в OpenBSD? :)

buratino ★★★★★
()
Ответ на: комментарий от andreyu

Мы это сделали потому, что можем?

Нет, для быстрого старта. На слабых машинах может помочь.

А как узнать цвет пикселя под курсором?

Gpick. Нечего из просмотрщика делать комбайн, это не юниксвей. Но если уж так хочется, разработчики очень милые люди,если правильно попросить — сделают.

KOT040188 ★★
()
Последнее исправление: KOT040188 (всего исправлений: 1)
Ответ на: комментарий от sand_circle

Xee3 весьма хорош. но не кроссплатформен, и под линукс его нет - только макось. есть некоторые косяки, некоторые нудобство с сортировкой инфы из экзифа....

с другой стороны, сабжевый проэкт - нет экзифа, нет копирования \ мува \ стирания карточек. плюс - на консоли и быстрый, вроде ( как пишут).

wisedraco ★★
()
Ответ на: комментарий от andreyu

Зависит от файловой системы, от кеша файловой системы (попала ли эта директория уже в кеш).

Система ext4, памяти на кеш хватает. Но файлов много.

$ ls -1 | wc -l
19235
$ find ~ | wc -l
1829457
$ time `file -- ~/* > /dev/null`

real    4m27.550s
user    1m0.018s
sys     0m8.969s
$ time `file -- ~/* > /dev/null`

real    0m35.985s
user    0m31.656s
sys     0m4.222s
$ time `file -- ~/* > /dev/null`

real    0m36.761s
user    0m32.566s
sys     0m4.152s

Итого 4,5 минуты при первом запуске и полминуты при последующих. Если сканировать рекурсивно — на порядок дольше. Я правильно понял, что рекурсия по умолчанию отключена?

Спрашивая про скорость определения по сигнатурам, я подразумевал хотя бы скорость по сравнению с file. У меня уже есть неприятный опыт с nomacs, который опознаёт формат по расширению, запускается мгновенно, но при каждом переименовании файла в этой директории с 20 тысячами задумывается на минуту, обновляя список. Необходимо ли будет при каждом нажатии Enter в MC ждать по полминуты, пока Simple Viewer не покажет картинку?

question4 ★★★★★
()
Ответ на: комментарий от andreyu

Спасибо, уже разобрался и сделал поддержку. Теперь та картинка отображается правильно. Ну или почти правильно.

Для первичной поддержки профайлов вполне норм. А дальше можно уже более навороченное управление цветом навернуть.

Linfan ★★★★★
()
Ответ на: комментарий от question4

Из десктопных косячит только Konqueror. Мобильный Хром и Сафари на ипхоне работают корректно. хм... Вы ту картинку смотрите? Тест внизу страницы, если чо.

Linfan ★★★★★
()
Ответ на: комментарий от Linfan

Для первичной поддержки профайлов вполне норм. А дальше можно уже более навороченное управление цветом навернуть.

Это вы тот парниша, который всех всегда поучает, критикует вся и всех, особенно векторные редакторы и одновременно уже лет пятнадцать обещает-обещает супер-чпупер правильный редактор кривых, однако дальше обещаний появляются новые обещания, обещания, обещания?

Не воспринимайте его всерьез, он говорить только умеет.

anonymous
()
Ответ на: комментарий от andreyu

Ну то бишь, нужна поддержка со стороны приложения. Нельзя сказать X-серверу, что бы он использовал како-либо профиль и все приложения автоматически научились бы правильно работать.

Ничего не нужно, это обычно вообще хардварно ускоряется и влияет на весь монитор сразу, а не на отдельные окна.

anonymous
()
Ответ на: комментарий от Linfan

Смотрю на картинку с подписью «Correct or Wrong?»

Андроид 4, не стоковый.

question4 ★★★★★
()
Ответ на: комментарий от anonymous

Этож либа а не вьюер? Вот подключить ее как форматный плагин можно, как и IM\GM. Только опционально, чтобы можно было собрать и без них.

anonymous
()
Ответ на: комментарий от anonymous

Я про форматы и говорил. Просто бесит, что почти во всех вьюверах поддежка форматов сделана абы как. Например, tga с rgba палитрой почти ни один вьювер не отображает, даже стандартный в макоси (у гимпа всё хорошо). Поддержка DDS тоже почти везде неполная.

anonymous
()
Ответ на: комментарий от Linfan

Мсье анон, вы невнимательны - редактор уже есть и доступен к скачиванию. http://sk1project.net

Анонимус всегда внимателен, однако зашел на всякий случай и увидел «sK1 2.0 Release Candidate 2 (RC2)». Анонимус не увидел обещанного релиза супер-пупер лучше и правильней остальных редактора. Но опять услышал разговоры.

У меня есть подозрения, что у вас вырабатывается эндорфин в двух случаях: когда вы льете на что-то говно (в смысле умничаете сферическим способом относительно чужих недостатков) и когда вы обещаете то, чего никогда не будет.

Причем от пустых обещаний вы постоянно находитесь близко к оргазму.

anonymous
()
Ответ на: комментарий от question4

GPicView ещё жив?

Кажется что да, жив. Последняя версия 0.2.5, от 2016-02-20 года. Последний баг (пока еще открытый), от 2016-04-29 (SEGFAULT when handling renaming of already opened file). Но у меня этот баг не воспроизводится.

Odalist ★★★★★
()
Ответ на: комментарий от s1n

Видимо не судьба попробовать.
CMakeFiles

А чего еще ждать от cmake?

kawaii_neko ★★★★
()
Ответ на: комментарий от andreyu

Я не умею. Но буду рад, если кто-то поможет.

Если у тебя прописаны INSTALL-ы, то добавь с CMakeLists.txt что-то вроде

set(CPACK_PACKAGE_NAME "simple-viewer-gl")
set(CPACK_PACKAGE_VERSION x.y.z)
set(CPACK_PACKAGE_VERSION_MAJOR x)
set(CPACK_PACKAGE_VERSION_MINOR y)
set(CPACK_PACKAGE_VERSION_PATCH z)
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "foo@bar")
include(CPack)
И тогда любой желающий сможет после сборки
cpack -G DEB .

kawaii_neko ★★★★
()
Ответ на: комментарий от buratino

1. gif-анимацию умеет?

Нет, но умеет переключать кадры/страницы.

2. в каких-нибудь дистрах есть в репах?

Не думаю, что вьювер есть официальных репозиториях.

3. > Работает в GNU/Linux и macOS. < > нипонял, а в OpenBSD? :)

Не проверял. Но не вижу причин не работать.

andreyu ★★★★★
() автор топика
Ответ на: комментарий от buratino

в восьмом дебиане не собирается, поругиваясь на модуль glfw3 для cmake

Можно увидеть сообщение об ошибке?

andreyu ★★★★★
() автор топика
Ответ на: комментарий от KOT040188

Нет, для быстрого старта. На слабых машинах может помочь.

Вначале мы сделали жирное приложение, которое еле стартует. А потом мы запихнули его в трей, что бы не было заметно тормозов запуска.
Ну ок.

Gpick. Нечего из просмотрщика делать комбайн, это не юниксвей.

Давайте идти дальше, нечего просмотрщику показывать картинки. Пусть этим занимается кто-либо другой.

Но если уж так хочется, разработчики очень милые люди,если правильно попросить — сделают.

Ок.

andreyu ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Перешел с GPicView на feh и менять не собираюсь.

Увы, feh не умеет то, что нужно мне.

andreyu ★★★★★
() автор топика
Ответ на: комментарий от wisedraco

Exif?

В планах.

delete pic

Ctrl+Delete

/ copy to / move to ?

Не считаю это задачей вьювера.

rotate?

Только на экране - r / shift+r

andreyu ★★★★★
() автор топика
Ответ на: комментарий от andreyu

1. gif-анимацию умеет?

Нет, но умеет переключать кадры/страницы.

В смысле? Листать кадры GIFа? Полезная фича, чтобы GIMP не запускать.

anonymous
()
Ответ на: комментарий от sand_circle

Кто-то щупал уже? Имеет смысл менять Feh на него?

Feh базируется на imlib2, а она не всегда корректно грузит targa и xpm.
Мой вьювер грузит targa и xpm сам, что позволяет просматривать те картинки, которые feh или не грузил вообще, или отображал криво.

andreyu ★★★★★
() автор топика
Ответ на: комментарий от wisedraco

с другой стороны, сабжевый проэкт - нет экзифа,

Это в планах. Но в первую очередь хочется полностью избавиться от imlib2.

нет копирования \ мува \

Скорее всего и не будет.

стирания карточек.

Что за стирание карточек? Если вы про удаление картинки, то ctrl+delete.
При чем физическое удаление с диска будет произведено только при переходе на следующую/предыдущую картинку. Это такой способ «откатить ошибочное удаление».

плюс - на консоли и быстрый, вроде ( как пишут).

На больших картинках медленнее из-за лишнего копирования в видеопамять.

andreyu ★★★★★
() автор топика
Ответ на: комментарий от andreyu
-- === RELEASE MODE ===
-- Checking for one of the modules 'glfw3'
CMake Error at /usr/share/cmake-3.6/Modules/FindPkgConfig.cmake:646 (message):
  None of the required 'glfw3' found
Call Stack (most recent call first):
  CMakeLists.txt:23 (PKG_SEARCH_MODULE)


-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so  
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.5.2") 
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") 
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.2.50") 
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so  
-- Found TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (found version "4.0.3") 
-- Performing Test GIF_GifFileType_UserData
-- Performing Test GIF_GifFileType_UserData - Success
-- Found GIF: /usr/lib/x86_64-linux-gnu/libgif.so (found version "4") 
-- Found IMLIB2: /usr/lib/x86_64-linux-gnu/libImlib2.so  
-- Found WEBP: /usr/include  
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Looking for dlclose in dl
-- Looking for dlclose in dl - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Configuring incomplete, errors occurred!
See also "/home/user/simple-viewer-gl/.build_release/CMakeFiles/CMakeOutput.log".
See also "/home/user/simple-viewer-gl/.build_release/CMakeFiles/CMakeError.log".
make[1]: вход в каталог «/home/user/simple-viewer-gl/.build_release»
make[1]: *** Не заданы цели и не найден make-файл.  Останов.
make[1]: выход из каталога «/home/user/simple-viewer-gl/.build_release»
cp .build_release/sviewgl .
cp: не удалось выполнить stat для «.build_release/sviewgl»: Нет такого файла или каталога
Makefile:10: ошибка выполнения рецепта для цели «release»
make: *** [release] Ошибка 1
buratino ★★★★★
()
Ответ на: комментарий от anonymous

Анонимус всегда внимателен, однако зашел на всякий случай и увидел «sK1 2.0 Release Candidate 2 (RC2)».

«Кому и кобыла невеста» (с)

Анонимус не увидел обещанного релиза супер-пупер лучше и правильней остальных редактора. Но опять услышал разговоры.

Во-первых, «супер-пупер лучше и правильней» - это персональные эротические фантазии анона.

Во-вторых, то, что находится в RC2 уже имеет подавляющее большинство фич, обсуждавшихся ранее. Было бы желание, RC2 можно было бы назвать и 2.0 и 2.1 Просто у нас другое представление о содержании версии 2.0 Будут готовы все намеченные фильтры импорта/экспорта + переводы и хелп, тогда и будет релиз.

Причем от пустых обещаний вы постоянно находитесь близко к оргазму.

Неа, не переносите, мсье, свои перверзии на окружающих - удовольствие штука тонкая, и поверьте, ваш личный опыт нельзя распространять на всех.

Linfan ★★★★★
()
Ответ на: комментарий от question4

Итого 4,5 минуты при первом запуске и полминуты при последующих. Если сканировать рекурсивно — на порядок дольше.

Почти 2 миллиона картинок. Не удивительно.

Я правильно понял, что рекурсия по умолчанию отключена?

Да, отключена. Включается параметром -r

Спрашивая про скорость определения по сигнатурам, я подразумевал хотя бы скорость по сравнению с file.

При использовании теста по сигнатуре происходит открытие и чтение нескольких десятков байт файла. Это и есть долгая операция.
Само тестирование в большинстве случаев - это memcmp + file size.

Необходимо ли будет при каждом нажатии Enter в MC ждать по полминуты, пока Simple Viewer не покажет картинку?

Нет, сразу отобразит картинку.
Simple Viewer GL строит дерево только после нажатия space или backspace. Это сделано именно для быстрого старта в директории с большим количеством файлов.

Ради интереса натравил вьювер на ~/Pictures под macOS, у меня там чуть больше 18 тысяч файлов - вьювер построил список файлов где-то за секунду. 3.1 GHz Intel Core i7, 16 Gb.

andreyu ★★★★★
() автор топика
Ответ на: комментарий от Linfan

Для первичной поддержки профайлов вполне норм. А дальше можно уже более навороченное управление цветом навернуть.

По алгоритму AP?

Столкнулся с проблемами:

1. Если битмап rgb8, то проблемы нет. Если rgba8, то после трансформации получаю прозрачный битмап.

2. Используя профайл в некоторых tiff получаю такую ошибку: «lcms: Error #12288; Read from memory error. Got 0 bytes, block should be of 128 bytes».

3. Brew под macOS знает только о старинной little cms v1.19. Можно ли затянуть к себе в проект сорцы lcms? Или как лучше поступить в данном случае?

andreyu ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Зачем велосипеды? Всё уже есть в http://openil.sourceforge.net/features.php

Много лет назад я пользовался этой библиотекой. Тогда она называлась иначе, потом ее переименовали в devil. Сейчас вижу, что она сильно выросла.

andreyu ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Я про форматы и говорил. Просто бесит, что почти во всех вьюверах поддежка форматов сделана абы как. Например, tga с rgba палитрой почти ни один вьювер не отображает, даже стандартный в макоси (у гимпа всё хорошо).

Можно мне пример такой targa?

Поддержка DDS тоже почти везде неполная.

У devil полная?

andreyu ★★★★★
() автор топика
Ответ на: комментарий от Linfan

Таки дети считают, что Инка до сих пор не отрелизилась?

Совершенно верно. Как и Qucs из соседнего треда.

AP ★★★★★
()
Ответ на: комментарий от kawaii_neko

Если у тебя прописаны INSTALL-ы, то добавь с CMakeLists.txt что-то вроде

Спасибо.

andreyu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.