GiMP (snap) и эскизы файлов r .xcf - proUbuntu
2 голосов
/ 13 июня

В Ubuntu (Budg ie) 20.04 при использовании GIMP в качестве оснастки вы увидите эскизы файлов r .xcf только «внутри» GIMP и нигде больше (Nemo, Nautilus, gThumb…)

1⋅ как указать, что мой сеанс должен выглядеть для r эскизов не только в ~/.cache/thumbnails/, но и в любых эскизах свернуть r внутри ~/snap/?

2⋅ снова чтение, щелчок do c Интересно, r если https://snapcraft.io/docs/thumbnailer-service-interface может быть ответом r. Должен ли я подключить этот интерфейс к GIMP? O r разве он не делает то, что я ищу для r?

Ответ r на 1⋅ может решить проблему для r любого приложения Snap в конечном итоге генерируются эскизы.

Приходит 2⋅ не то, что я ожидал.

Fo r ссылки: https://forum.ubuntu-fr.org/viewtopic.php?id=2053949https://forum.snapcraft.io/t/gimp-and-thumbnails-for-xcf-files/18131https://discourse.ubuntubudgie.org/t/gimp-as-a-snap-no-thumbnails-for-xcf-files-in-nemo-gthumb/3799

1 Ответ

0 голосов
/ 11 августа

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

Интерфейс службы миниатюр r может быть решением, но кажется, что его нужно внедрить и поддерживать. r Миниатюры XCF. Похоже, что ничего не существует. Чтобы избежать необходимости писать один, я ищу r простой r и быстрый r для реализации временного решения.

Предлагаемое решение символьной ссылки всего каталога thumbnail/normal на один внутри каталога ~/snap работает, и каждый раз, когда вы открываете и сохраняете файл XCF с помощью GIMP, миниатюра обновляется автоматически.

Если, как и мой, вы не хотите создавать символическую ссылку на весь каталог, я предлагаю это другое r временное решение: символическая ссылка на отдельные миниатюры с помощью скрипта Nautilus. Примечание: требуется запустить скрипт для r вновь созданных файлов XCF, в то время как уже существующие файлы будут автоматически обновлять миниатюры r.

Скрипт:

#!/bin/bash

for file in ~/snap/gimp/common/.cache/thumbnails/normal/*
do
    if [ -f $file ]
    then
        ln -s "$file" ~/".cache/thumbnails/normal/$(basename $file)"
    fi
done

Вы можете сделайте то же самое для r каталога эскизов / больших файлов, если необходимо.

Сохранить в папку сценария Nautilus r, и вы можете запускать его каждый раз, когда видите файлы XCF без эскизов. Рекомендуемое имя «Обновить эскизы», расширение r. sh не требуется, но требуется включение исполняемого бита в разрешениях файла.

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

Кроме того, с помощью скрипта-fu можно заставить gimp генерировать файлы PNG размером 128x128 и сохранять их в каталог ~/.cache/thumbnails/normal из командной строки, не загружая его интерфейс.

Но пока следующие работы:

$fileshort=$(basename "$file")
uri=$(urlencode -m "$fileshort") # urlencode requires install
uri="file://$uri"
thumbfilename=$(echo -n "$uri" | md5sum | awk '{print $1}')
thumbfilename=~/.cache/thumbnails/normal/$thumbfilename.png

gimp -i -b "(let* ((image (car (gimp-file-load RUN-NONINTERACTIVE \"$file\" \"$file\")))
(drawable   (car (gimp-image-active-drawable image)))
(cur-width  (car (gimp-image-width image)))
(cur-height (car (gimp-image-height image)))
(ratio      (min (/ 128 cur-width) (/ 128 cur-height)))
(width      (* ratio cur-width))
(height     (* ratio cur-height))
)

(gimp-image-scale image width height)
(file-png-save RUN-NONINTERACTIVE image drawable \"$thumbfilename\" \"$thumbfilename\" 0 9 1 1 1 1 1)
(gimp-image-delete image)
)" -b "(gimp-quit 0)"

Вам нужно как-то присвоить значение $file. Fo r пример, путем итерации каталога.

Создание действительного имени эскиза зависит от команды urlencode, которая по умолчанию отсутствует.

Действительное имя эскиза является результатом получения md5 ha sh имени файла в форме URI "file://" и добавления к нему расширения png.

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

Есть команда gimp-file-save-thumbnail fo r script-fu, но мне с ней не повезло. Я не нашел получившегося эскиза в своей файловой системе, и команда, похоже, ничего не возвращает.

Идеальное решение: расширение GIMP, которое знает, что GIMP был установлен с помощью оснастки, и сохраняет эскизы в ~/.cache/thumbnails/normal каждый раз, когда вы обновляете файл XCF.

Проблема: с script-fu может быть невозможно . Как я знаю, эти скрипты нужно вызывать, как fa r. Вы можете зарегистрировать r их как пункт меню в интерфейсе GIMP, но вы не можете заставить его реагировать на file open o r file save события.

Другие r возможные решения:

Наличие фона bash o r Python script monito r недавно измененные каталоги и сканирование их на файлы r XCF. Вышеупомянутый скрипт-фу можно вызвать для создания эскизов без отображения интерфейса GIMP.

Задача состоит в том, чтобы сделать это наиболее оптимальным способом.

...