пятница, 1 июля 2011 г.

Feh

Feh, пожалуй, самый лучший unix-way'ный просмоторщик графических файлов, но порой кажется, что чего-то не хватает. Ан нет, оказывается надо всего лишь немножко подумать и всё получается. Собственно небольшие "хаки" по использованию сабжа.

1. В awesome всё никак не получается прописать правила для feh таким образом, чтобы оно центровалось при просмотре. Решил проблему, так сказать, в лоб:

-- {{{ Signals
-- Signal function to execute when a new client appears.
client.add_signal("manage", function (c, startup)

...

    if c.class == "feh" then
        awful.client.floating.set(c, true)
        awful.placement.centered(c)
    end
end)

2. Когда я просто просматриваю изображения, например кликая по ним в pcmanfm, то размеры окна feh меняется в зависимости от размера изображения. Естественно меня это сильно бесило, поэтому был написан небольшой скрипт, который собственно делает следующее: если размер изображение больше размера экрана, то feh запускается в полноэкранном режиме, а размер изображение уменьшается до размера экрана; если размер изображения, естественно меньше, то размер окна будет равняться размеру изображения и благодаря выше описанному правилу awesome будет распологаться строго по центру экрана:

#!/bin/bash

RESOLUTION=$(exiv2 "$1" 2>/dev/null | grep "Image size")
HEIGHT=$(echo "$RESOLUTION" | awk '{ print $4 }')
WIDTH=$(echo "$RESOLUTION" | awk '{ print $6 }')

if [ $HEIGHT -gt 1366 -a $WIDTH -gt 768 ]; then
    feh -F "$1"
else
    feh "$1"
fi

Приятного пользования!