giolock
Coraggioso Chiacchierone
Non Connesso
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« 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: #!/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
|
|
|
|
Jano .
Entusiasta Emergente

Non Connesso
Sesso: 
Messaggi: 1.979
Media messaggi
Ubuntu 10.04 - User # 19647
|
 |
« 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.netAntennas: 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
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« 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
|
|
|
|
giolock
Coraggioso Chiacchierone
Non Connesso
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« 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
|
|
|
|
Jano .
Entusiasta Emergente

Non Connesso
Sesso: 
Messaggi: 1979
Media messaggi
Ubuntu 10.04 - User # 19647
|
 |
« Risposta #4 inserita: 06 Settembre, 2008, 14:22:11 » |
|
Vero, hai ragione, buon lavoro  Ciao, Jano
|
|
|
|
|
Registrato
|
Personal Server: www.janoweb.netAntennas: 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
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« Risposta #5 inserita: 31 Ottobre, 2008, 21:25:20 » |
|
|
|
|
|
|
Registrato
|
|
|
|
telperion
Audace Accademico
 
Non Connesso
Sesso: 
Messaggi: 4.792
Media messaggi
|
 |
« 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 #!/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
Messaggi: 1.617
Media messaggi
|
 |
« 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 
|
|
|
|
|
Registrato
|
|
|
|
telperion
Audace Accademico
 
Non Connesso
Sesso: 
Messaggi: 4792
Media messaggi
|
 |
« 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  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
Messaggi: 1617
Media messaggi
|
 |
« Risposta #9 inserita: 01 Novembre, 2008, 18:07:43 » |
|
mhh la mia ha 256 dici che avrò sempre il problema di impallamento? 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
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« 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: #!/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
|
|
|
|
giolock
Coraggioso Chiacchierone
Non Connesso
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« 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: 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
|
|
|
|
saxtro
Entusiasta Emergente

Non Connesso
Messaggi: 1617
Media messaggi
|
 |
« 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
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« 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: #!/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
|
|
|
|
telperion
Audace Accademico
 
Non Connesso
Sesso: 
Messaggi: 4792
Media messaggi
|
 |
« 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 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
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« 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
|
|
|
|
telperion
Audace Accademico
 
Non Connesso
Sesso: 
Messaggi: 4792
Media messaggi
|
 |
« 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
Messaggi: 74
Media messaggi
|
 |
« Risposta #17 inserita: 14 Dicembre, 2008, 18:47:56 » |
|
qualcuno ha un deb di lowfat ?
|
|
|
|
|
Registrato
|
|
|
|
giolock
Coraggioso Chiacchierone
Non Connesso
Sesso: 
Messaggi: 352
Media messaggi
Libertà è partecipazione!
|
 |
« Risposta #18 inserita: 14 Dicembre, 2008, 23:19:48 » |
|
purtroppo no, e nonostante lo abbia cercato a lungo, non ho trovato nulla. Bisogna compilare ... 
|
|
|
|
|
Registrato
|
|
|
|
|