Nautilus script: apri con lowfat

Installazione, configurazione e uso di programmi e strumenti.

Nautilus script: apri con lowfat

Messaggioda giolock » domenica 31 agosto 2008, 14:13

Ciao a tutti.
In attesa che qualcuno torni a sviluppare il progetto lowfat, (se non sapete cos'è http://it.youtube.com/watch?v=GkrM4ymkiDo)
ho voluto provare a realizzare un piccolo script per nautilus che permette di aprire una serie di foto con questo programma: basta semplicemente selezionarle in nautilus e poi clic destro -> script -> apri con lowfat.

Ecco lo script:
Codice: Seleziona tutto
#!/bin/bash
#Title=Apri con lowfat

LOWFAT_DIR="/home/giorgio/sorgenti/lowfat"
SCREEN_WIDTH=1280
SCREEN_HEIGHT=800

LOWFAT_CFG=$LOWFAT_DIR/state.txt
rm $LOWFAT_CFG
ROTATION=0

DIR=`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e "s/^file:\/\///g" -e "s/%20/ /g"`
for arg in "$@"
do
  echo "$DIR"/"$arg" >> $LOWFAT_CFG
  echo $(($SCREEN_WIDTH / 2)) >> $LOWFAT_CFG
  echo $(($SCREEN_HEIGHT / 2)) >> $LOWFAT_CFG
  echo $ROTATION >> $LOWFAT_CFG
  echo 640 >> $LOWFAT_CFG
  echo 480 >> $LOWFAT_CFG
  ROTATION=$(($ROTATION + 10))
done

$LOWFAT_DIR/start-lowfat.sh


Se a qualcuno interessa provarlo basta fare come per tutti i nautilus-script: lo salvate in ~/.gnome2/nautilus-scripts con nome "Apri con lowfat" e gli date i permessi di esecuzione.
Dovete anche modificare la riga LOWFAT_DIR="/home/giorgio/sorgenti/lowfat" inserendo il percorso in cui avete compilato lowfat, poi potete anche modificare SCREEN_WIDTH e SCREEN_HEIGHT impostando la risoluzione esatta del vostro monitor.
Ultima modifica di Anonymous il domenica 31 agosto 2008, 14:54, modificato 1 volta in totale.
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)

Re: Nautilus script: apri con lowfat

Messaggioda Jano . » sabato 6 settembre 2008, 2:55

Un saluto,
Scusa ma se sulla immagine col tasto SX del mouse selezionavi "Apri con" e davi il comando di eseguire "lowfat" non funzionava ? (con la patch giusta per richiamare lo script di avvio "start-lowfat.sh")

Jano
Ultima modifica di Anonymous il sabato 6 settembre 2008, 3:00, modificato 1 volta in totale.
Sito Web: http://www.janoweb.net
Wireless: ALFA-AWUS036H, AWUS050NH, D-Link DWL-G650, D-Link DWL-G122, ZyXel G220, Linksys WUB54GR, Intel PRO/Wireless 3945ABG
Avatar utente
Jano .
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 2014
Iscrizione: aprile 2007
Desktop: Gnome
Distribuzione: Ubuntu 12.04 - User # 19647

Re: Nautilus script: apri con lowfat

Messaggioda giolock » sabato 6 settembre 2008, 10:30

Purtroppo lowfat non accetta i nomi di file passati come parametri a linea di comando, per cui mi sono dovuto inventare questo script. Forse funzionerebbe anche senza metterla nei nautilus script, se è questo che intendi, ma andrebbe sicuramente modificata. Dato che così funziona abbastanza bene, non vedo il motivo.
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)

Re: Nautilus script: apri con lowfat

Messaggioda giolock » sabato 6 settembre 2008, 13:37

Precisazione: le immagini quando vengono caricate vengono tutte ridimensionate a 640x480, quindi possono risultare deformate se non sono in formato 4:3.
Comunque basta fare doppio click in un'area vuota e le immagini tornano alle proporzioni giuste.
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)

Re: Nautilus script: apri con lowfat

Messaggioda Jano . » sabato 6 settembre 2008, 15:22

Vero, hai ragione, buon lavoro  ;)

Ciao, Jano
Sito Web: http://www.janoweb.net
Wireless: ALFA-AWUS036H, AWUS050NH, D-Link DWL-G650, D-Link DWL-G122, ZyXel G220, Linksys WUB54GR, Intel PRO/Wireless 3945ABG
Avatar utente
Jano .
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 2014
Iscrizione: aprile 2007
Desktop: Gnome
Distribuzione: Ubuntu 12.04 - User # 19647

Re: Nautilus script: apri con lowfat

Messaggioda giolock » venerdì 31 ottobre 2008, 22:25

Sul blog White Penguin subrikk ha pubblicato una versione dello script adattata per konqueror:
http://whitepenguin.wordpress.com/2008/10/31/pillole-di-lowfat-integrare-lowfat-con-il-filemanager/
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)

Re: Nautilus script: apri con lowfat

Messaggioda telperion » sabato 1 novembre 2008, 16:42

Versione con dimensioni rielaborate da identify (imagemagik)
dimensione massima anteprime al caricamento limit=n
a/r corretto

Codice: Seleziona tutto
#!/bin/bash
#Title=Apri con lowfat

LOWFAT_DIR="/home/mc/dev-vari/lowfat/lowfat"
SCREEN_WIDTH=1280
SCREEN_HEIGHT=1024
# dimensione massima anteprime al caricamento con rispetto a/r
limit=640

LOWFAT_CFG=$LOWFAT_DIR/state.txt
rm $LOWFAT_CFG
ROTATION=0

DIR=`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e "s/^file:\/\///g" -e "s/%20/ /g"`



for arg in "$@"
do
  echo "$DIR"/"$arg" >> $LOWFAT_CFG

 immagine="$DIR"/"$arg"

  echo $(($SCREEN_WIDTH / 2)) >> $LOWFAT_CFG
  echo $(($SCREEN_HEIGHT / 2)) >> $LOWFAT_CFG
  echo $ROTATION >> $LOWFAT_CFG

 larg="$(LC_ALL=en_US identify -ping -format '%w' "$immagine" &> /dev/stdout)"
 alte="$(LC_ALL=en_US identify -ping -format '%h' "$immagine" &> /dev/stdout)"


   if [ $larg -gt $limit ] || [ $alte -gt $limit ]; then
      if [ $larg -gt $alte ]; then
         rapp1=$(( $larg * 10))
          rapp=$(( $rapp1 / $alte))
          echo $rapp      
         larg=$limit
         alte=$(( $limit * 10 ))
         alte=$(( $alte / $rapp ))
      else
         rapp1=$(( $alte * 10))
          rapp=$(( $rapp1 / $larg))
           echo $rapp   
         alte=$limit
         larg=$(( $limit * 10 ))
         larg=$(( $larg / $rapp ))
      fi
   fi      

 echo $larg >> $LOWFAT_CFG
 echo $alte >> $LOWFAT_CFG

  ROTATION=$(($ROTATION + 3))
done

$LOWFAT_DIR/start-lowfat.sh
Ultima modifica di telperion il sabato 1 novembre 2008, 17:41, modificato 1 volta in totale.
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
 
Messaggi: 5379
Iscrizione: luglio 2006

Re: Nautilus script: apri con lowfat

Messaggioda saxtro » sabato 1 novembre 2008, 16:50

lowfat, gran bel programma, io lo provai in alpha, le potenzialità si vedevano tutte ma con 1giga di ram si impallava tutto  ;D
saxtro
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 2193
Iscrizione: giugno 2006
Desktop: KDE4
Distribuzione: Windows XP SP3

Re: Nautilus script: apri con lowfat

Messaggioda telperion » sabato 1 novembre 2008, 17:46

saxtro ha scritto:lowfat, gran bel programma, io lo provai in alpha, le potenzialità si vedevano tutte ma con 1giga di ram si impallava tutto  ;D


Lavora in opegl quindi se la memoria della scheda video è poca non vai lontano.
Con una scheda video con 512MB di ram integrata, apro 3-400 foto senza problemi.
La versione è sempre quella alpha li ...
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
 
Messaggi: 5379
Iscrizione: luglio 2006

Re: Nautilus script: apri con lowfat

Messaggioda saxtro » sabato 1 novembre 2008, 19:07

mhh la mia ha 256 dici che avrò sempre il problema di impallamento?
Codice: Seleziona tutto
01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7800 GS] (rev a2)
   Subsystem: CardExpert Technology Device 0801
   Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
   Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 248 (1250ns min, 250ns max)
   Interrupt: pin A routed to IRQ 16
   Region 0: Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
   Region 1: Memory at e0000000 (32-bit, prefetchable) [size=256M]
   Region 2: Memory at f5000000 (32-bit, non-prefetchable) [size=16M]
   [virtual] Expansion ROM at f7de0000 [disabled] [size=128K]
   Capabilities: <access denied>
   Kernel driver in use: nvidia
   Kernel modules: nvidiafb, nvidia
saxtro
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 2193
Iscrizione: giugno 2006
Desktop: KDE4
Distribuzione: Windows XP SP3

Re: Nautilus script: apri con lowfat

Messaggioda giolock » sabato 1 novembre 2008, 21:13

Ecco la mia versione che ho cominciato a scrivere aggiungendo l'uso di imagemagick come suggerito da telperion:

Codice: Seleziona tutto
#!/bin/bash
#Title=Apri con lowfat

#Configuration
LOWFAT_DIR="/home/giorgio/sorgenti/lowfat"
SCREEN_WIDTH=1280
SCREEN_HEIGHT=800

LOWFAT_CFG="$LOWFAT_DIR"/state.txt
if [[ -e "$LOWFAT_CFG" ]]
 then rm "$LOWFAT_CFG"
 else touch "$LOWFAT_CFG"
fi
ROTATION=0
DIR=`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e "s/^file:\/\///g" -e "s/%20/ /g"`

for arg in "$@"
do
  GEOMETRY=`identify -format "%w %h" "$DIR"/"$arg"`
  if [ "$GEOMETRY" == "" ]
  then
    IMAGE_WIDTH=640
    IMAGE_HEIGHT=480
  else
    IMAGE_WIDTH=`echo $GEOMETRY | awk '{ print $1 }'`
    IMAGE_HEIGHT=`echo $GEOMETRY | awk '{ print $2 }'`
  fi
  echo "$DIR"/"$arg" >> $LOWFAT_CFG
  echo $(($SCREEN_WIDTH / 2)) >> $LOWFAT_CFG
  echo $(($SCREEN_HEIGHT / 2)) >> $LOWFAT_CFG
  echo $ROTATION >> $LOWFAT_CFG
  if [ $IMAGE_HEIGHT -gt $IMAGE_WIDTH ]
  then
  echo $(($SCREEN_HEIGHT / 3 * 2 * $IMAGE_WIDTH / $IMAGE_HEIGHT)) >> $LOWFAT_CFG
  echo $(($SCREEN_HEIGHT / 3 * 2)) >> $LOWFAT_CFG
  else
  echo $(($SCREEN_WIDTH / 2)) >> $LOWFAT_CFG
  echo $(($SCREEN_WIDTH / 2 * $IMAGE_HEIGHT / $IMAGE_WIDTH)) >> $LOWFAT_CFG
  fi
  ROTATION=$(($ROTATION + 10))
done

$LOWFAT_DIR/start-lowfat.sh


Le immagini con larghezza più grande dell'altezza vengono ridimensionate con larghezza pari a metà schermo (e altezza proporzionata).
Se l'altezza è maggiore della larghezza diventano con altezza pari a 2/3 di quella dello schermo.
Se imagemagick non è installato vanno di default a 640x480.

@ telperion:facendo una sola chiamata a identify anzichè due e dividendo poi le varibili non dovrebbe essere più veloce? In realtà non noto molta differenza.

rispetto alla versione di telperion le immagini hanno dimensioni più uniformi ... questione di gusti comunque...
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)

Re: Nautilus script: apri con lowfat

Messaggioda giolock » sabato 1 novembre 2008, 21:16

Ho notato che aprendo immagini direttamente dal desktop non funziona. Ho provato a fare questa modifica:

Codice: Seleziona tutto
DESKTOP_DIR="/home/giorgio/Scrivania"
if [ "$NAUTILUS_SCRIPT_CURRENT_URI" = "" ]
then DIR="$DESKTOP_DIR"
else DIR=`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e "s/^file:\/\///g" -e "s/%20/ /g"`
fi


ma non funziona comunque. Qualcuno sa perchè?
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)

Re: Nautilus script: apri con lowfat

Messaggioda saxtro » sabato 1 novembre 2008, 21:31

invece se con nautilus vai dentro Scrivania e fai apri con immagino che funzioni

edit: cmq pare che facesse cosi gia dalla dapper
https://bugs.launchpad.net/ubuntu/+sour ... +bug/49767
Ultima modifica di saxtro il sabato 1 novembre 2008, 22:17, modificato 1 volta in totale.
saxtro
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 2193
Iscrizione: giugno 2006
Desktop: KDE4
Distribuzione: Windows XP SP3

Re: Nautilus script: apri con lowfat

Messaggioda giolock » domenica 2 novembre 2008, 15:04

saxtro ha scritto:invece se con nautilus vai dentro Scrivania e fai apri con immagino che funzioni


Esatto, ho capito il problema: dal desktop non viene passato il parametro $@.
Ho risolto sostituendolo con la variabile NAUTILUS_SCRIPT_SELECTED_URIS.
Eccovi le modifiche:

Codice: Seleziona tutto
#!/bin/bash

####################################################################
# Open files with lowfat
####################################################################
#
# AUTHOR:          giolock      
#
# REQUIREMENTS: lowfat, imagemagick (optional)
#
# INSTALLATION:  GNOME 2.x: copy to the ~/.gnome2/nautilus-scripts directory
#
# USAGE:            Select the files that you would like to display in Nautilus
#                       or on the desktop, right click, go to Scripts, and then
#                       select this script.
#               
# VERSION INFO: 0.3.1 (20081102)
# LICENSE:         GNU GPL
#
####################################################################

#Title=Apri con lowfat

#Configuration
LOWFAT_DIR="/home/giorgio/sorgenti/lowfat"
SCREEN_WIDTH=1280
SCREEN_HEIGHT=800

LOWFAT_CFG="$LOWFAT_DIR"/state.txt
if [[ -e "$LOWFAT_CFG" ]]
 then rm "$LOWFAT_CFG"
 else touch "$LOWFAT_CFG"
fi
ROTATION=0

FILELIST=`echo "$NAUTILUS_SCRIPT_SELECTED_URIS" | sed -e "s/file:\/\///g" -e "s/%20/ /g"`

IFS=$'\n'
for arg in `echo "$FILELIST"`
do
  GEOMETRY=`identify -ping -format "%w %h" "$arg"`
  if [[ "$GEOMETRY" == "" ]]
  then
    IMAGE_WIDTH=640
    IMAGE_HEIGHT=480
  else
    IMAGE_WIDTH=`echo $GEOMETRY | awk '{ print $1 }'`
    IMAGE_HEIGHT=`echo $GEOMETRY | awk '{ print $2 }'`
  fi
  echo "$arg" >> "$LOWFAT_CFG"
  echo $(($SCREEN_WIDTH / 2)) >> "$LOWFAT_CFG"
  echo $(($SCREEN_HEIGHT / 2)) >> "$LOWFAT_CFG"
  echo $ROTATION >> "$LOWFAT_CFG"
  if [[ $IMAGE_HEIGHT -gt $IMAGE_WIDTH ]]
  then
  echo $(($SCREEN_HEIGHT / 3 * 2 * $IMAGE_WIDTH / $IMAGE_HEIGHT)) >> "$LOWFAT_CFG"
  echo $(($SCREEN_HEIGHT / 3 * 2)) >> "$LOWFAT_CFG"
  else
  echo $(($SCREEN_WIDTH / 2)) >> "$LOWFAT_CFG"
  echo $(($SCREEN_WIDTH / 2 * $IMAGE_HEIGHT / $IMAGE_WIDTH)) >> "$LOWFAT_CFG"
  fi
  ROTATION=$(($ROTATION + 3))
done

"$LOWFAT_DIR"/start-lowfat.sh
Ultima modifica di Anonymous il domenica 2 novembre 2008, 19:30, modificato 1 volta in totale.
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)

Re: Nautilus script: apri con lowfat

Messaggioda telperion » domenica 2 novembre 2008, 17:18

giolock ha scritto:
@ telperion:facendo una sola chiamata a identify anzichè due e dividendo poi le varibili non dovrebbe essere più veloce? In realtà non noto molta differenza.

rispetto alla versione di telperion le immagini hanno dimensioni più uniformi ... questione di gusti comunque...


Ho fatto le due chiamate perchè non sapevo come separare i due dati, non sono un genio della bash, e ho evitato il resize delle immagini più piccole del limite per accellerare lo script.

pre velocizzare identify conviene usare
Codice: Seleziona tutto
identify -ping -format "%w %h" "$arg"


visto che con -ping

You ask IM it only read basic information about an image using a special "-ping" option. This causes identify to attempt to only read enough of the image file to determine simple image information, such as size, without trying to read the whole image into memory. Most image file format will allow you to do this, but not all. This is the biggest advantage of "identify" over the many "convert" image information output operators

sveltisce abbastanza.
Ultima modifica di telperion il domenica 2 novembre 2008, 17:38, modificato 1 volta in totale.
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
 
Messaggi: 5379
Iscrizione: luglio 2006

Re: Nautilus script: apri con lowfat

Messaggioda giolock » domenica 2 novembre 2008, 19:31

Ok, ho agguinto anch'io l'opzione ping.
Per curiosità, a cosa serve "LC_ALL=en_US"?
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)

Re: Nautilus script: apri con lowfat

Messaggioda telperion » lunedì 3 novembre 2008, 1:43

giolock ha scritto:Ok, ho agguinto anch'io l'opzione ping.
Per curiosità, a cosa serve "LC_ALL=en_US"?


Per essere sicuri che le stringhe in output siano in inglese e non nella lingua locale, in questo caso non serve perchè sono numeri ma se ti aspetti una stringa da greppare come "error" "ready" per eseguire operazioni meglio essere certi arrivi nella lingua prevista, e non "errore" "pronto".

Ho notato che con alcune immagini (chissa perchè) lowfat crasha, non c'entra lo script, è proprio lowfat che con alcune jpg, crasha.
Ultima modifica di telperion il lunedì 3 novembre 2008, 1:47, modificato 1 volta in totale.
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
 
Messaggi: 5379
Iscrizione: luglio 2006

Re: Nautilus script: apri con lowfat

Messaggioda suoko » domenica 14 dicembre 2008, 19:47

qualcuno ha un deb di lowfat ?
suoko
Prode Principiante
 
Messaggi: 80
Iscrizione: gennaio 2006

Re: Nautilus script: apri con lowfat

Messaggioda giolock » lunedì 15 dicembre 2008, 0:19

purtroppo no, e nonostante lo abbia cercato a lungo, non ho trovato nulla.
Bisogna compilare ...  (bad)
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 352
Iscrizione: dicembre 2006
Località: Santa Vittoria d'Alba (CN)


Torna a Applicazioni

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 16 ospiti