10 Febbraio, 2012, 14:37:59 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia: I vincitori del Concorso desktop del mese di dicembre sono a pari merito alecive e iacoporosso. L'elenco dei precedenti vincitori è qui.
 
   Indice   FAQ Aiuto Regolamento Ricerca Accedi Registrati  

Guide
Applicazioni
Wiki
Installare Programmi   •   Repository   •   Synaptic   •   Apt   •   Da Sorgenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Nautilus script: apri con lowfat  (Letto 3706 volte)
0 Utenti e 1 Utente non registrato stanno visualizzando questa discussione.
giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« inserita: 31 Agosto, 2008, 13:13:48 »

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:
#!/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: 31 Agosto, 2008, 13:54:26 da giolock » Registrato

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
Jano .
Entusiasta Emergente
**
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 1.979

Media messaggi


Ubuntu 10.04 - User # 19647


Mostra profilo WWW
« Risposta #1 inserita: 06 Settembre, 2008, 01:55:47 »

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: 06 Settembre, 2008, 02:00:57 da jano-68 » Registrato

Personal Server: www.janoweb.net
Antennas: HyperLink 24-dBi Grid, Panel 14-dBi
Wireless: ALFA-AWUS036H, AWUS050NH, D-Link DWL-G650, D-Link DWL-G122, ZyXel G220, Linksys WUB54GR, Intel PRO/Wireless 3945ABG
giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« Risposta #2 inserita: 06 Settembre, 2008, 09:30:58 »

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.
Registrato

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« Risposta #3 inserita: 06 Settembre, 2008, 12:37:23 »

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.
Registrato

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
Jano .
Entusiasta Emergente
**
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 1979

Media messaggi


Ubuntu 10.04 - User # 19647


Mostra profilo WWW
« Risposta #4 inserita: 06 Settembre, 2008, 14:22:11 »

Vero, hai ragione, buon lavoro  Wink

Ciao, Jano
Registrato

Personal Server: www.janoweb.net
Antennas: HyperLink 24-dBi Grid, Panel 14-dBi
Wireless: ALFA-AWUS036H, AWUS050NH, D-Link DWL-G650, D-Link DWL-G122, ZyXel G220, Linksys WUB54GR, Intel PRO/Wireless 3945ABG
giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« Risposta #5 inserita: 31 Ottobre, 2008, 21:25:20 »

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/
Registrato

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
telperion
Audace Accademico
***
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 4.793

Media messaggi



Mostra profilo
« Risposta #6 inserita: 01 Novembre, 2008, 15:42:39 »

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

Codice:
#!/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: 01 Novembre, 2008, 16:41:31 da telperion » Registrato

saxtro
Entusiasta Emergente
**
Non Connesso Non Connesso

Messaggi: 1.617

Media messaggi


Mostra profilo
« Risposta #7 inserita: 01 Novembre, 2008, 15:50:14 »

lowfat, gran bel programma, io lo provai in alpha, le potenzialità si vedevano tutte ma con 1giga di ram si impallava tutto  Grin
Registrato
telperion
Audace Accademico
***
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 4793

Media messaggi



Mostra profilo
« Risposta #8 inserita: 01 Novembre, 2008, 16:46:40 »

lowfat, gran bel programma, io lo provai in alpha, le potenzialità si vedevano tutte ma con 1giga di ram si impallava tutto  Grin

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 ...
Registrato

saxtro
Entusiasta Emergente
**
Non Connesso Non Connesso

Messaggi: 1617

Media messaggi


Mostra profilo
« Risposta #9 inserita: 01 Novembre, 2008, 18:07:43 »

mhh la mia ha 256 dici che avrò sempre il problema di impallamento?
Codice:
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
Registrato
giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« Risposta #10 inserita: 01 Novembre, 2008, 20:13:49 »

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

Codice:
#!/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...
Registrato

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« Risposta #11 inserita: 01 Novembre, 2008, 20:16:57 »

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

Codice:
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è?
Registrato

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
saxtro
Entusiasta Emergente
**
Non Connesso Non Connesso

Messaggi: 1617

Media messaggi


Mostra profilo
« Risposta #12 inserita: 01 Novembre, 2008, 20:31:32 »

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/+source/nautilus/+bug/49767
« Ultima modifica: 01 Novembre, 2008, 21:17:12 da saxtro » Registrato
giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« Risposta #13 inserita: 02 Novembre, 2008, 14:04:42 »

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:
#!/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: 02 Novembre, 2008, 18:30:23 da giolock » Registrato

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
telperion
Audace Accademico
***
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 4793

Media messaggi



Mostra profilo
« Risposta #14 inserita: 02 Novembre, 2008, 16:18:42 »


@ 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:
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: 02 Novembre, 2008, 16:38:18 da telperion » Registrato

giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« Risposta #15 inserita: 02 Novembre, 2008, 18:31:42 »

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

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
telperion
Audace Accademico
***
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 4793

Media messaggi



Mostra profilo
« Risposta #16 inserita: 03 Novembre, 2008, 00:43:10 »

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: 03 Novembre, 2008, 00:47:53 da telperion » Registrato

suoko
Novello Novizio

Non Connesso Non Connesso

Messaggi: 74

Media messaggi


Mostra profilo
« Risposta #17 inserita: 14 Dicembre, 2008, 18:47:56 »

qualcuno ha un deb di lowfat ?
Registrato
giolock
Coraggioso Chiacchierone
*
Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 352

Media messaggi


Libertà è partecipazione!


Mostra profilo
« Risposta #18 inserita: 14 Dicembre, 2008, 23:19:48 »

purtroppo no, e nonostante lo abbia cercato a lungo, non ho trovato nulla.
Bisogna compilare ...  Bad
Registrato

Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/index.php?topic=110947.0
Pagine: [1]   Vai su
  Stampa  
 
Vai a: