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)

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

shippable.com

чем сузевый билд-сервис не угодил? не, у него есть свои тараканы типа остутствия интернета в виртуалке, но ты ж не Go/ноду пакетить решил.

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

Стрелочки имхо не помешают,

Стрелочки уже работают. Но у них иное назначение.

а еще лучше если хоткеи настраиваться будут из файла.

В планах.

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

Не надо передергивать. Вьюверами все пользуются.

Я этого и не отрицал.

А вот midnight commander и прочими - нет.

И что по вашему это должно значить?

Как уже сказали, если вьюер претендует на звание «для народа», а не для себя,

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

то хоткеи неплохо выносить в конфиг.

Тоже уже говорил - планирую добавить. Есть более важные задачи.

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

Круто. Я только что умудрился настроить CI shippable.com с Ubuntu:

$ uname -a
Linux 93b58d29a329 3.19.0-51-generic #58~14.04.1-Ubuntu SMP Fri Feb 26 22:02:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ gcc --version
gcc (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ clang --version
clang version 3.8.0 (tags/RELEASE_380/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin

Конфиг CI такой:

echo "deb http://ppa.launchpad.net/keithw/glfw3/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list.d/fillwave_ext.list
echo "deb-src http://ppa.launchpad.net/keithw/glfw3/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list.d/fillwave_ext.list
sudo apt-get -qq -y update
sudo apt-get install cmake
sudo apt-get install libfreetype6-dev
sudo apt-get install libglfw3-dev
sudo apt-get install libimlib2-dev
sudo apt-get install libtiff5-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libgif-dev
sudo apt-get install libpng12-dev
sudo apt-get install liblcms2-dev
sudo apt-get install libwebp-dev

С помощью gcc собралось, с помощью clang нет: The C++ compiler «/usr/local/bin/clang++» is not able to compile a simple test program.

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

Я думал цель собрать больше отзывов? Меньше телодвижений - больше людей посмотрит.

У всех свои цели.

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

чем сузевый билд-сервис не угодил? не, у него есть свои тараканы типа остутствия интернета в виртуалке, но ты ж не Go/ноду пакетить решил.

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

А что за сузевый билд-сервис?

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

А что за сузевый билд-сервис?

то, на что я уже второй раз ссылку даю. https://build.opensuse.org

у него есть свои тараканы, он скажем для билдовой vm инет отрубает, и нельзя подключать какой-нибудь EPEL/кастомные PPA. но в целом имхо сойдет для бесплатного сервиса, плюс он сразу создает реп который можно напрямую прицепить в apt или yum чтоб не качать пакеты браузером.

upcFrost ★★★★★
()

При сборке под дебиан есть косяк с версиями GLFW.

glfwSetDropCallback требует GLFW 3.1, дебиан 8 имеет только 3.0 в стандартном наборе. в build reqs на битбакете конкретной версии не указано, лучше либо указать, либо посмотреть как можно обойти это место (main.cpp:144)

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

он скажем для билдовой vm инет отрубает, и нельзя подключать какой-нибудь EPEL/кастомные PPA

А как быть с установкой зависимостей? Выше я давал список зависимостей, которые нужны для сборки вьювера.

На ubuntu-14.04 старая версия glfw3, пришлось ради поддержки сборки с этой версией отключать поддержку drag-n-drop.

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

А как быть с установкой зависимостей?

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

иногда это выливается в лютый писец, скажем чтоб опакетить что-то там для рубей что имело более новую версию мне пришлось больше сотни пакетов собрать ввиду невозможности зацепить PPA. но в так как в большинстве случаев предполагается что ты юзаешь пакетную базу дистра за основу, это вполне логичный подход (ну типа что ты не пытаешься в центось 5 впихнуть что-то что тянет распоследний glibc из svn).

На ubuntu-14.04 старая версия glfw3, пришлось ради поддержки сборки с этой версией отключать поддержку drag-n-drop

да, уже увидел. ну, не то чтоб прям отрубать, просто if поставить

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

да, уже увидел. ну, не то чтоб прям отрубать, просто if поставить

Там и стоит #if ;)

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

В format.h не хватает #include <cstdint>, иначе не собирается ubuntu 16.10.

На билд-сервере тоже. Скоро повикшу.

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

только что умудрился настроить CI shippable.com

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

в любом случае, если нужен будет спек для rpm либо россыпь конфигов для дебиана - по ссылке что я кидал есть. попробую докрутить debian 7 (почему-то там часть зависимостей не прописана походу) и pkgbuild для рача (нужно пересобрать glfw, он только в Community есть)

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

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

От него есть польза - он собирает под «пустой» Ubuntu 14.04.

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

Именно так поступил я, написав Simple Viewer GL.

я тогда не совсем понимаю, извините, чего вы тут так бурно дискутируете.... все кому чтото ненравится, колорьпрофили - «идите накуй, я для себя писал, мне всё нравится!», нет?

если у них карточка неправильными цветами отображается, или не компилится прод фрибсд - эт ж их проблемы, у вас под бубунтой ж всё работает? :)

ну а я... я писать не стану. под мак есть Xee3 , а линукс - хрен с десктопом на линуксе. всё одно макось на 3 головы лучще, ну а на серверах просмотрщик какртинок не совсем и нужен-то...

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

У меня есть и мак и комп с линух. Каждый раз плююсь когда проблема решается strace за минуту, а на маке покажите ка мне утилиту что трейсит вызовы с параметрами да еще разворачивает их? Про truss итп что основано на dtrace я знаю, но во-первых оно не гарантирует беспотерьность, во вторых не трейсит параметры (строки и структуры по указателям, их расшифровка итп), сами попробуйте. У многих утулит вроде mount половина опций не поддерживается итп. В общем мак этот тот же freebsd со старым ядром и пакетами. Все новое и проприетарное уже только уровнем выше наверчено. А еще можно вспомнить что Vulkan они отказываются вставлять, в пользу Metal, ага, делать его приходится ради одной этой платформы. Или вот попробуйте скомпилить Far Manager под мак, он там рисует текст стандартными системными средствами и эта отрисовка дико тормозит, макбук сразу греется, а на линуксе летает. И это все только вершина айсберга, я не утверждаю что им пользоваться нельзя, раз вам хватает - все ок, но вот не надо утверждать то в чем вы не разбираетесь (якобы на 3 головы лучше итп).

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

Или вот попробуйте скомпилить Far Manager под мак, он там рисует текст стандартными системными средствами и эта отрисовка дико тормозит, макбук сразу греется, а на линуксе летает.

Far есть для Linux и macOS?

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

Есть, https://github.com/elfmz/far2l я собственно его сборкой под мак и занимался, но пока мало юзабелен из-за тормозов стандартного рисовальщика текста. Там надо получать глифы и рисовать их самостоятельно, так же поступают консольные терминалы под маком. Помощь с этим приветствуется)

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

Каждый раз плююсь когда проблема решается strace за минуту,

удивительно. стрейс - это первоочередно необходимая вещь на десктопе? в любом случае - не пользуюсь оной ни на маке, ни на линуксе. както нет необходимости.

маунт - что там то нетак? что конкретно, а не «оно не такое, как я привык»? вулканы с металами вообще темный лес. както не ощущаю недостачи чего либо. фар менеджер - это костыль для винды, на линуксе, равно как и на макоси есть миднайт коммандер. по нему нарекания есть?

вобщем " у меня на линуксе винда из сорцов не компилится - значит, линукс-говно!" получается...:D

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

Конкретно один strace не первоочередная вещь, но таких вещей много. С mount что не то я написал - половина вещей не поддерживается, он выглядит как очеь-очень старый. То же относится много к чему, к ruby, к bash, бывает копируешь скрипт, а он не работает. Это не потому что на маке все по-другому стандарту, просто все очень старое. Выручает brew, но не всегда, тот же bash системный он не перетрет, если загляните на страницу того же Far Manager, wxWidgets из brew не подходит, нужно собирать.

Проще написать плюсы, а не минусы, навскидку могу только kqueue вспомнить. Все остальное сильно отстает, даже в шейдерах часто приходится вставлять #ifdef __APPLE__. Как потребителя вас это тоже касается, неудобства для разработчика - ничего хорошего для платформы. Так то если в инетике посидеть и мне неудобства нет, но и про «на 3 головы лучше» тут и речи идти не может.

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

я тогда не совсем понимаю, извините, чего вы тут так бурно дискутируете.... все кому чтото ненравится,

Вот именно, что «не понимаю». И в довесок ещё и читать не умеешь.

Автор сабжа на аргументированные замечания реагировал весьма шустро и в процессе треда нехило прокачал софтинку. В т.ч. И в плане поддержки профайлов.

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

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

И что по вашему это должно значить?

Обычно я использую так: из-под midnight commander тыкаю в интересующий меня файл; жму space или backspace, если мне нужно посмотреть следующий/предыдущий файл.

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

По ссылке эталонный неосилятор mc. Sh и sftp соединения, меняются по ctrl+up/down. Заметьте sh и sftp это разные выщи, хотя их предоставляет sshd, один из них может быть закрыт. История команд - по Alt+h или esc-h будет меню, тот же ctrl+up/down меняет в командной строке. И таких хоткеев полно.

P.S. в mc вполне вменяемый редактор, но если хочется больше пожалуйста можно использовать по дефлту vim, etc.

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

ctrl+up/down то менять их можно, а вот чтобы увидеть весь список - надо нажать мышкой. Alt+h показывает историю введенных команд, а Alt-F12 в фаре - история папок, это другое. sh и sftp разное, но это не критично, так что в целом из перечисленного все верно вроде.

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

А еще этот список в mc по мышке, т.к. это хистори, редактировать нельзя, только ввести новое, а старое пусть уплывает из виду.

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

а старое пусть уплывает из виду.

У меня сохранились адреса которые я вбивал более 4-х лет назад, не уплыло:((

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

Действительно, мышкой можно не тыкать. Но действий все еще больше и редактируемого списка нет. История папок есть, вы правы. Может и поиск назад присутствует? Вот тут https://midnight-commander.org/wiki/ru/doc/editor/hotkeys я не вижу, но тут и shift-f7 нету, хотя на самом деле он есть.

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

Методом тыка не нашел. Еще вопрос, когда я набираю ff например, фар показывает уже фльтрованный список истории команд, где мои последние запуски ffmpeg. Чрезвычайно удобно, есть подобное в mc?

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

Действительно удобно, может и есть такая штука, но мне не попадалось, обычно когда нужен поиск по истории делаю Ctr+o, Crtl+r и уже ищу.

Кстати, такой вопрос far2l может работать в голой консоли или ему нужны иксы?

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

Пока не может, но я работаю над этим. Разделяю фронтэнд и бэкэнд, это поможет и маку и консольной версии, и даже в вебе можно будет запустить.

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

- умеет рекурсивно пробегаться по директории;
- позволяет «запоминать» зум при переключении изображения;

Да, с огромными изображениями проблема.

sxiv же!

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

Вау, живой разработчик линуксового фара))) Тогда такой фичереквест, если можно конечно, сделать навигацию кроме стрелочек и по hjkl, а то у современных ноутбуков стрелки очень неудобны. Это наверное единственная причина по которой я перешел с mc на vifm. К сожалению его надо сильно настраивать перед использованием и до функционала и удобства mc ему все же далеко.

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

Да, клавиши хорошо бы в конфиг вынести. Пока могу сказать где поправить, в far2l/WinPort/src/UI/wxWinTranslations.cpp, там где:

    case WXK_NUMPAD_LEFT: return VK_LEFT;
    case WXK_NUMPAD_UP: return VK_UP;
    case WXK_NUMPAD_RIGHT: return VK_RIGHT;
    case WXK_NUMPAD_DOWN: return VK_DOWN;
добавить\заменить(NUMPAD на ноуте подозреваю не нужны) на
    case L'H': return VK_UP;
    case L'J': return VK_DOWN;
    case L'K': return VK_LEFT;
    case L'L': return VK_RIGHT;

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

Только при этом и для набора в командной строке эти кнопки отпадут тогда, но в этом месте можно и другие ремапы сделать, с alt\ctrl например.

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

Так же можно завести еще одну спец кнопку, для переключения командный\обычный режим аля vi, которая будет отключать\включать эти репапы для ноута и командная строка останется рабочей.

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

Кстати, по поводу своих реализаций, посмотрите https://github.com/nothings/stb там один единственный инклудник кинуть в проект и несколько реализаций форматовв достаточно вылизанных есть, занимает не много.

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

Так же можно завести еще одну спец кнопку, для переключения командный\обычный режим аля vi

Vi режим, наверное это более здравая идея.

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

sxiv же!

Спасибо, но меня устраивает мой вьювер. Изображения 10000х10000 он грузит. Изображения 30000х20000 переваривает с тормозами. Но у меня таких изображений нет. Для меня ходовые - это текстуры от 16х16 до 4096х4096. Изредка смотрю то, что вываливается из телефонов и мыльниц.

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

посмотрите https://github.com/nothings/stb

Знаю этот проект. Планировал использовать его для своего текстур-пакера, но ограничился png->png.

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

Вот я и зарегался. Вам ветку с HJKL+переключатель сделать или сами? Far Manager vs. Midnight Commander вот еще смотрю тут жалуются что прокрутки консоли нет, она есть костылем ctrl-o и F4, история консоли откроется в редакторе. Но написать туда не могу.

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