Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-11-2005, 16:11   #1
cerbert
Senior Member
 
L'Avatar di cerbert
 
Iscritto dal: Feb 2001
Città: Torino
Messaggi: 11769
Script per cambiare sfondo automaticamente su gnome 2

Ciao a tutti,
dopo mesi di ricerca, insoddisfatto dai vari programmini datati, dalle gdesklets beta, dal dover sopprimere nautilus come gestore del desktopbkg nonostante le sue funzioni utili, mi sono finalmente chiesto: "ma non è che sto sbagliando tutto e la soluzione è più semplice di quanto credo?".
Ebbene, come per il 99% delle cose che riguardano Linux... lo era.
Quanto segue è il risultato della consultazione di due man e dell'help di gnome.

Codice:
#!/bin/bash

declare -i LAST_WP=`cat /home/cerbert/.last_wallpaper`
declare -i WP_SIZE
declare WP_STYLE
declare -a lista_files
WP_PATH=/home/cerbert/documents/immagini/wallpapers/
lista_files=(`ls $WP_PATH`)

if [ $LAST_WP -ge ${#lista_files[*]} ]
then
	LAST_WP=0
fi

IMAGE_FILE=${lista_files[$LAST_WP]}
THIS_WP=$[LAST_WP+1]

echo $THIS_WP > /home/cerbert/.last_wallpaper

WP_SIZE=`/usr/bin/identify -format %h $WP_PATH$IMAGE_FILE`

if [ $WP_SIZE -ge 750 ]
then
WP_STYLE="scaled"
else
WP_STYLE="centered"
fi

gconftool-2 -s "/desktop/gnome/background/picture_options" --type string $WP_STYLE -s "/desktop/gnome/background/picture_filename" --type string $WP_PATH$IMAGE_FILE

unset lista_files
Cosa fa?
Molto semplice:


Codice:
declare -i LAST_WP=`cat /home/cerbert/.last_wallpaper`
dichiara una variabile e la riempie con un numero scritto in un file apposito.

Codice:
declare -a lista_files
WP_PATH=[percorso assoluto della cartella dove tenete i wallpapers]
lista_files=(`ls $WP_PATH`)
dichiara un array e lo riempie con tutti i nomi files presenti in una cartella apposita . Due accorgimenti:
1) i nomi devono essere regolari, niente spazi ne caratteri strani.
2) non ci devono essere null'altro che immagini

Codice:
if [ $LAST_WP -ge ${#lista_files[*]} ]
then
	LAST_WP=0
fi
controlla che l'indice dell'immagine che vogliamo caricare non sia superiore al numero di immagini presenti nella cartella. Altrimenti riparte dalla prima (indice 0)

Codice:
IMAGE_FILE=${lista_files[$LAST_WP]}
THIS_WP=$[LAST_WP+1]
Ricava il nome dell'immagine all'indice, incrementa poi di uno l'indice (i nomi delle variabili non sono proprio corretti, ma abbiate pazienza, avevo cambiato il codice in corso d'opera).

Codice:
echo $THIS_WP > /home/cerbert/.last_wallpaper
Registra l'indice aggiornato nel file in modo che non si reinizi sempre da 0 ad ogni riavvio.

Codice:
WP_SIZE=`/usr/bin/identify -format %h $WP_PATH$IMAGE_FILE`

if [ $WP_SIZE -ge 750 ]
then
WP_STYLE="scaled"
else
WP_STYLE="centered"
fi
Grazie al comando "identify" facente parte del pacchetto ImageMagick (ATTENZIONE: NON TUTTE LE DISTRIBUZIONI PORTANO IMAGEMAGICK DI DEFAULT. SE NON LO AVETE, SCARICATELO CHE E' DI MOLTO FIGO!!) con argomento -format %h ottiene l'altezza in pixel dell'immagine. Dopo di che fa un confronto con un parametro fisso (altezza standard della risoluzione schermo... immagino si possa anche ricavare con un comando, ma non ho voglia di sbattermi, tanto io la tengo sempre al massimo sul portatile :P ) e se l'immagine "sfora" imposta la modalità "scalata", se invece resta nei limiti, imposta la modalità "centrata" nella variabile che abbiamo preimpostato.

Codice:
gconftool-2 -s "/desktop/gnome/background/picture_options" --type string $WP_STYLE -s "/desktop/gnome/background/picture_filename" --type string $WP_PATH$IMAGE_FILE

unset lista_files
E finalmente setta il background tramite gconftool-2 impostandone anche il modo (scalato o centrato).
Quindi, per pulizia, cancella l'array.

Infine, come ultimo passo, nella crontab dell'utente andate a settare l'intervallo di escuzione che ritenete più opportuno, questo il mio (5 minuti):

Codice:
SHELL=/bin/bash
*/5 * * * * /home/cerbert/usr_scripts/ch_wp > /dev/null 2>&1
In una sera ho risolto un problema che mi assillava da mesi... certo, direte voi, di tempo da perdere ne ho.
__________________
Eroi da non dimenticare: Nicola Calipari (04/03/2005) e Vittorio Arrigoni (14/04/2011) e Bradley Manning.
Sono certo che anche i francesi si indignarono per il fatto che i tedeschi, piuttosto che veder dissolvere la loro nazione, preferirono il nazismo. Chi non impara la storia...

Ultima modifica di cerbert : 26-01-2006 alle 11:28.
cerbert è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2005, 21:31   #2
PiloZ
Senior Member
 
L'Avatar di PiloZ
 
Iscritto dal: Dec 2001
Città: /dev/rotfl
Messaggi: 7276
Quote:
Originariamente inviato da cerbert
Codice:
WP_PATH=/home/cerbert/documents/immagini/wallpapers/
lista_files=(`ls $WP_PATH`)
per evitare questo problema:
Quote:
Originariamente inviato da cerbert
2) non ci devono essere null'altro che immagini
potresti migliorarlo con una cosa del genere:
lista_files=(`ls $WP_PATH{*.jpg,*.png}`)
riguarda la sintassi perchè mi trovo a lavoro e non posso terstarlo
__________________
....::::fluxbox è talmente veloce che quando digito startx, il WM aspetta che il server Xorg lo raggiunga - PiloZ::::...

Ultima modifica di PiloZ : 21-11-2005 alle 11:26.
PiloZ è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 08:57   #3
cerbert
Senior Member
 
L'Avatar di cerbert
 
Iscritto dal: Feb 2001
Città: Torino
Messaggi: 11769
Quote:
Originariamente inviato da PiloZ
per evitare questo problema:

potresti migliorarlo con una cosa del genere:
lista_files=(`ls $WP_PATH{*.jpg,*.png*.}`)
riguarda la sintassi perchè mi trovo a lavoro e non posso terstarlo
Interessante, ci provo quanto prima...
Stavo anche cercando di vedere se riesco ad avere da qualche eseguibile un analisi delle dimensioni in pixel, in questo modo posso cambiare da "centrato" a "scalato" le impostazioni del WP.
__________________
Eroi da non dimenticare: Nicola Calipari (04/03/2005) e Vittorio Arrigoni (14/04/2011) e Bradley Manning.
Sono certo che anche i francesi si indignarono per il fatto che i tedeschi, piuttosto che veder dissolvere la loro nazione, preferirono il nazismo. Chi non impara la storia...
cerbert è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 11:27   #4
PiloZ
Senior Member
 
L'Avatar di PiloZ
 
Iscritto dal: Dec 2001
Città: /dev/rotfl
Messaggi: 7276
Quote:
Originariamente inviato da cerbert
Interessante, ci provo quanto prima...
Stavo anche cercando di vedere se riesco ad avere da qualche eseguibile un analisi delle dimensioni in pixel, in questo modo posso cambiare da "centrato" a "scalato" le impostazioni del WP.
occhio che c'è un *. finale di troppo
__________________
....::::fluxbox è talmente veloce che quando digito startx, il WM aspetta che il server Xorg lo raggiunga - PiloZ::::...
PiloZ è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 13:07   #5
cerbert
Senior Member
 
L'Avatar di cerbert
 
Iscritto dal: Feb 2001
Città: Torino
Messaggi: 11769
Quote:
Originariamente inviato da PiloZ
occhio che c'è un *. finale di troppo
Tranquillo, nonostante io sia un programmatore (e giù grasse risate) non vado di copiincolla per pezzi così brevi di codice...
__________________
Eroi da non dimenticare: Nicola Calipari (04/03/2005) e Vittorio Arrigoni (14/04/2011) e Bradley Manning.
Sono certo che anche i francesi si indignarono per il fatto che i tedeschi, piuttosto che veder dissolvere la loro nazione, preferirono il nazismo. Chi non impara la storia...
cerbert è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2006, 17:16   #6
gefri
Senior Member
 
L'Avatar di gefri
 
Iscritto dal: Feb 2002
Messaggi: 1368
innanzitutto ringrazio cerbert per i pm, però rispondo qui;
vorrei sapere se questo script va bene anche su k3b, e, se è possibile far si che lo sfondo cambi ogni primo del mese, o, se non è possibile, sapere se i minuti vengono contati anche a pc spento; grazie ancora!
gefri è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2006, 12:01   #7
cerbert
Senior Member
 
L'Avatar di cerbert
 
Iscritto dal: Feb 2001
Città: Torino
Messaggi: 11769
Ho trovato finalmente il tempo per rimettere mano allo script e, grazie al potere di ImageMagick, ho sistemato le cose in modo che nella cartella uno possa mettere immagini di QUALUNQUE dimensione e trovarsele adattate al proprio schermo (a seconda di quello che preferisce).

@gefri (scusandomi per il ritardo).
Immagino che tu intenda KDE. Mi pare di ricordare che KDE lo avesse di default un "wallpaper rotator", se no sono sicuro che abbia un equivalente di gconftool, controlla il suo help on-line.
Per cambiare lo sfondo ad ogni primo del mese, basta modificare opportunamente crontab, fai riferimento ad un qualsiasi "crontab HOWTO".
I minuti, ovviamente, NON vengono contati a PC spento.
__________________
Eroi da non dimenticare: Nicola Calipari (04/03/2005) e Vittorio Arrigoni (14/04/2011) e Bradley Manning.
Sono certo che anche i francesi si indignarono per il fatto che i tedeschi, piuttosto che veder dissolvere la loro nazione, preferirono il nazismo. Chi non impara la storia...
cerbert è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Alcune partite NBA saranno trasmesse in ...
Intel Core 13000 e 14000 aumentano uffic...
Gemini sta per arrivare in Google Maps: ...
2 minuti per vedere le 27 offerte imperd...
Ray-Ban Meta Display: tecnologia sorpren...
Un mini PC a prezzo stracciato, non cerc...
Al via i coupon nascosti di ottobre: qua...
Ferrari Elettrica si aggiorna solo in of...
Doppio sconto sugli smartphone top Xiaom...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
Alcuni Galaxy S26 utilizzeranno il chip ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:06.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v