Old:Ordinare le icone sul desktop Xfce: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
m (spaziatura/box iniziale)
 
(49 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze}}
{{Old}}
== Introduzione ==
Questa mini-guida nasce dall'esigenza di '''ordinare gli elementi (icone di cartelle, file, ecc.) presenti sulla Scrivania in DE Xfce''', dato che su Xfce, almeno per quanto riguarda la versione 4.6 installata con Debian 6.0, sembra non essere stata implementa questa funzionalità. Ma per quel che mi risulta, effettuando varie ricerche sul web, sembra essere una funzionalità piuttosto rara, in particolare nei nuovi DE. Eppure credo sia quanto meno importante.
Per fare ciò verrà utilizzato Python, in genere installato con qualsiasi OS linux.


{{Box|Lavori in corso|Guida in fase di elaborazione}}


===Introduzione===
=== Parte prima ===
Questa mini-guida nasce dall'esigenza di '''ordinare gli elementi (icone di cartelle, file, ecc.) presenti sul desktop in DE Xfce''', dato che su Xfce, almeno per quanto riguarda la versione 4.6 installata con Debian 6.0, sembra non essere stata implementa questa funzionalità. Ma per quel che mi risulta, effettuando varie ricerche sul web, sembra essere una funzionalità piuttosto rara, in particolare nei nuovi DE, che siano essi open-source o money closed-source. Eppure credo sia una funzionalità quanto meno importante.
Il file in cui sono archiviati i nomi delle icone della Scrivania con le rispettive posizioni in riga (row) e colonna (col), ed il relativo percorso (in genere è questo) è il seguente:<br/>
Per fare ciò verrà utilizzato python, in genere installato con qualsiasi OS linux.
[[File:1istantanea.png]]<br/>
 


====Prima parte====
Il file in cui sono archiviati i nomi delle icone del desktop con le rispettive posizioni in riga (row) e colonna (col), ed il relativo percorso (in genere è questo) è il seguente:<br/>
[[File:1istantanea.png]]
<br/>
<pre>/USER/.config/xfce4/desktop/icons.screen0.rc</pre>
<pre>/USER/.config/xfce4/desktop/icons.screen0.rc</pre>
Dove '''USER''' è il nome dell'utente, '''.config''' è la directory, che come si evince dal '''.''' è nascosta.<br/>
Dove '''USER''' è il nome dell'utente, '''.config''' è la directory, che come si evince dal '''.''' è nascosta.<br/>
Per visualizzarla, aprire ''Thunar (Gestore dei file)'' andare su ''Visualizzazione'' e spuntare ''Mostra i file nascosti''.<br/>
Per visualizzarla, aprire ''Thunar (Gestore dei file)'' andare su ''Visualizzazione'' e spuntare ''Mostra i file nascosti''.<br/>
Dopodichè spostarsi da '''USER''' in '''.config'''/'''xfce4'''/'''desktop'''/:
<u>Quello che andremo a fare con Python è riscrivere in maniera ordinata questo file.</u>
 
 
=== Parte seconda ===
In questa stessa cartella andiamo a creare un file di testo, con il comando:
<pre>$ ls -p /home/USER/Scrivania > /home/USER/.config/xfce4/desktop/file.txt</pre>
[[File:2istantanea.png]]<br/>
 
 
"'''ls'''" legge il contenuto della Scrivania, e anziché essere mostrato a video, viene scritto, generato il file "'''/home/USER/.config/xfce4/desktop/file.txt'''" attraverso il comando "'''>'''" ; "'''-p'''" marca con " ''/'' " i nomi delle cartelle, nomi che vengono scritti nel file.txt insieme ai nomi dei file presenti sulla Scrivania.<br/>
Prima di procedere salviamo una copia del file "''icons.screen0.rc''".
 
 
=== Parte terza ===
Il contenuto dei due file: "''file.txt''" e "''icons.screen0.rc''", andrà a costituire <u>l'input</u> dello '''script Python'''. Dal primo verranno estratti i nomi di file, cartelle, ecc., già in ordine alfabetico, dal secondo il valore maggiore di riga (row). Quest'ultimo "''icons.screen0.rc''" durante l'elaborazione verrà riscritto dallo script (<u>output</u> dello script).<br/>
 
'''script python''' : <br/>
Apriamo l' ''idle di Python'', se non è installata, installatela con:<br/>
<pre># apt-get install idle</pre>
Fatto ciò, clicchiamo su "menu > File > New window":<br/>
[[File:3istantanea.png]]<br/>
 
 
Nel file vuoto "Untitled", scriviamo quanto segue, sostituendo a USER il nome utente (4 sostituzioni):<br/>
<pre>
# -*- coding: utf-8 -*-
f= open("/home/USER/.config/xfce4/desktop/icons.screen0.rc", "r")
ControllaSeVuoto=f.read()
f.close()
if ControllaSeVuoto != "" :
    f= open("/home/USER/.config/xfce4/desktop/icons.screen0.rc", "r")
    si=0
    iRow=2
    s=0
    listaChiaviconta=0
    Diz={}
    ListaFile=[]
    ListaFileNome=[]
    ListaFileRow=[]
    ListaFileCartelle=[]
    ListaFileNomeFiles=[]
    while 1:
        a=f.readline()
        if a=="":
            break
        t=a[:-1]
        if len(t) != 0:
            si=si+1
            Diz[si]=t
            ListaFile.append(t)
    f.close()
#________________________________________________________________
    fd= open("/home/USER/.config/xfce4/desktop/file.txt", "r")
    while 1:
        ad=fd.readline()
        if ad=="":
            break
        td=ad[:-1]
        if len(td) != 0:
            ListaFileNome.append(td)
    fd.close()
#________________________________________________________________#     
    while iRow < len(ListaFile):
        ListaFileRow.append(int(Diz[iRow][4:]))
        iRow=iRow+3
    ListaFileRow.sort()
    ListaFileRow.reverse()
    element=0
    ax=[list(range(element, element+(ListaFileRow[0]+1)))]*(int(len(ListaFileNome)/ListaFileRow[0]))
    tx=0
    sx=0
    ListaRC=[]
    while sx<len(ax):
        bx= "row="+ str(ax[sx][tx])
        cx= "col="+str(sx)
        lis=[bx,cx]
        ListaRC.append([lis[0],lis[1]])
        tx=tx+1
        if tx==len(ax[0]):
            tx=0
            sx=sx+1
#__________________________________________________________________#
    while s < len(ListaFileNome):
        if ListaFileNome[s][-1:]== "/":
            ListaFileCartelle.append(ListaFileNome[s][:-1])
        elif ListaFileNome[s][-8:]==".desktop":
            ListaFileNomeFiles.append(ListaFileNome[s][:-8])
        else:
            ListaFileNomeFiles.append(ListaFileNome[s])
        s=s+1
    ListFileOrd=ListaFileCartelle+ListaFileNomeFiles
    fil = open("/home/USER/.config/xfce4/desktop/icons.screen0.rc", "w")
    while listaChiaviconta <len(ListFileOrd):
        a="["+ListFileOrd[listaChiaviconta]+"]"
        b=str(ListaRC[listaChiaviconta][0])
        c=str(ListaRC[listaChiaviconta][1])
        fil.write(a+"\n")
        fil.write(b+"\n")
        fil.write(c+"\n\n")
        listaChiaviconta=listaChiaviconta+1
    fil.close()
else:
    exit
</pre>
Ovviamente chi conosce Python può modificarlo o migliorarlo a proprio piacimento.<br/>
Dopodiché salviamo, "menu > salva con nome (o save as)" in "home", livello superiore a "USER",  col nome '''riordinaDesktop.py'''.
 
 
=== Parte quarta ===
La parte principale del lavoro è stata svolta. Adesso vedremo come utilizzare lo [[script]] Python appena creato. A tal scopo creeremo un semplice script [[bash]] (di [[shell]]).<br/>
Apriamo il terminale e digitiamo:
<pre>$ su -</pre>
per accedere come [[root]], inseriamo la password di root, e spostiamoci nella cartella ''home/''.<br/>
Diamo i seguenti comandi:<br/>
<pre># touch riordinaDesktopAlfabetico.sh</pre>
''INVIO''<br/>
<pre># nano riordinaDesktopAlfabetico.sh</pre>
''INVIO''..<br/>
 
Nell'editor di testo appena aperto, scriviamo, questi comandi:
<pre>#!/bin/bash
ls -p /home/USER/Scrivania > /home/USER/.config/xfce4/desktop/file.txt
python riordinaDesktop.py
xfdesktop --reload
</pre>
in modo tale da avere:
[[File:4istantanea.png]]<br/>
 
 
Ovviamente il nome utente al posto di "USER".<br/>
Salviamo con "ctrl-o">"invio" e usciamo dall'editor con "ctrl-x".<br/>
Restando nella cartella "''home/''", diamo i permessi di eseguibile allo script appena creato:
<pre># chmod +x riordinaDesktopAlfabetico.sh</pre>
 
=== Parte quinta ===
A questo punto bisogna creare un avviatore sul pannello per lanciare ''riordinaDesktopAlfabetico.sh''.<br/>
Click col tasto destro sul "pannello" > aggiungi nuovi elementi", procedere come in figura:<br/>
[[File:5istantanea.png]]<br/>
 
 
Se si volesse ordinare la Scrivania in base alla data di creazione o di ultima modifica dei file, sostituire nel file ''riordinaDesktopAlfabetico.sh'' la riga:<br/>
<pre>ls -p /home/USER/Scrivania > /home/USER/.config/xfce4/desktop/file.txt</pre>
con:
<pre>ls -ptr /home/USER/Scrivania > /home/USER/.config/xfce4/desktop/file.txt</pre>
Che come si può osservare, aggiunge semplicemente due parametri a ''ls'', ''-p'''''tr''', cioè Tempo e Reverse.
Oppure, consigliabile, creare allo stesso modo un altro script, per esempio ''riordinaDesktopTemporale.sh'', cambiando solamente la suddetta riga e assegnandogli un altro avviatore. In modo tale da mantenere entrambe le possibilità di ordinare le icone della Scrivania:<br/>
[[File:6istantanea.png]][[File:7istantanea.png]]<br/>




{{Box|Lavori in corso|Guida in fase di elaborazione}}


{{Autori | Autore = Viveta 18:16, 26 gen 2013 (CET) }}
{{Autori
|Autore = [[Utente:Viveta|Viveta]] 18:16, 26 gen 2013 (CET)
}}

Versione attuale delle 11:44, 25 giu 2016

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


Introduzione

Questa mini-guida nasce dall'esigenza di ordinare gli elementi (icone di cartelle, file, ecc.) presenti sulla Scrivania in DE Xfce, dato che su Xfce, almeno per quanto riguarda la versione 4.6 installata con Debian 6.0, sembra non essere stata implementa questa funzionalità. Ma per quel che mi risulta, effettuando varie ricerche sul web, sembra essere una funzionalità piuttosto rara, in particolare nei nuovi DE. Eppure credo sia quanto meno importante. Per fare ciò verrà utilizzato Python, in genere installato con qualsiasi OS linux.


Parte prima

Il file in cui sono archiviati i nomi delle icone della Scrivania con le rispettive posizioni in riga (row) e colonna (col), ed il relativo percorso (in genere è questo) è il seguente:
1istantanea.png


/USER/.config/xfce4/desktop/icons.screen0.rc

Dove USER è il nome dell'utente, .config è la directory, che come si evince dal . è nascosta.
Per visualizzarla, aprire Thunar (Gestore dei file) andare su Visualizzazione e spuntare Mostra i file nascosti.
Quello che andremo a fare con Python è riscrivere in maniera ordinata questo file.


Parte seconda

In questa stessa cartella andiamo a creare un file di testo, con il comando:

$ ls -p /home/USER/Scrivania > /home/USER/.config/xfce4/desktop/file.txt

2istantanea.png


"ls" legge il contenuto della Scrivania, e anziché essere mostrato a video, viene scritto, generato il file "/home/USER/.config/xfce4/desktop/file.txt" attraverso il comando ">" ; "-p" marca con " / " i nomi delle cartelle, nomi che vengono scritti nel file.txt insieme ai nomi dei file presenti sulla Scrivania.
Prima di procedere salviamo una copia del file "icons.screen0.rc".


Parte terza

Il contenuto dei due file: "file.txt" e "icons.screen0.rc", andrà a costituire l'input dello script Python. Dal primo verranno estratti i nomi di file, cartelle, ecc., già in ordine alfabetico, dal secondo il valore maggiore di riga (row). Quest'ultimo "icons.screen0.rc" durante l'elaborazione verrà riscritto dallo script (output dello script).

script python :
Apriamo l' idle di Python, se non è installata, installatela con:

# apt-get install idle

Fatto ciò, clicchiamo su "menu > File > New window":
3istantanea.png


Nel file vuoto "Untitled", scriviamo quanto segue, sostituendo a USER il nome utente (4 sostituzioni):

# -*- coding: utf-8 -*-
f= open("/home/USER/.config/xfce4/desktop/icons.screen0.rc", "r")
ControllaSeVuoto=f.read()
f.close()
if ControllaSeVuoto != "" :
    f= open("/home/USER/.config/xfce4/desktop/icons.screen0.rc", "r")
    si=0
    iRow=2
    s=0
    listaChiaviconta=0
    Diz={}
    ListaFile=[]
    ListaFileNome=[]
    ListaFileRow=[]
    ListaFileCartelle=[]
    ListaFileNomeFiles=[]
    while 1:
        a=f.readline()
        if a=="":
            break
        t=a[:-1]
        if len(t) != 0:
            si=si+1
            Diz[si]=t
            ListaFile.append(t)
    f.close()
#________________________________________________________________
    fd= open("/home/USER/.config/xfce4/desktop/file.txt", "r")
    while 1:
        ad=fd.readline()
        if ad=="":
            break
        td=ad[:-1]
        if len(td) != 0:
            ListaFileNome.append(td)
    fd.close()
#________________________________________________________________#       
    while iRow < len(ListaFile):
        ListaFileRow.append(int(Diz[iRow][4:]))
        iRow=iRow+3
    ListaFileRow.sort()
    ListaFileRow.reverse()
    element=0
    ax=[list(range(element, element+(ListaFileRow[0]+1)))]*(int(len(ListaFileNome)/ListaFileRow[0]))
    tx=0
    sx=0
    ListaRC=[]
    while sx<len(ax):
        bx= "row="+ str(ax[sx][tx])
        cx= "col="+str(sx)
        lis=[bx,cx]
        ListaRC.append([lis[0],lis[1]])
        tx=tx+1
        if tx==len(ax[0]):
            tx=0
            sx=sx+1
#__________________________________________________________________#
    while s < len(ListaFileNome):
        if ListaFileNome[s][-1:]== "/":
            ListaFileCartelle.append(ListaFileNome[s][:-1])
        elif ListaFileNome[s][-8:]==".desktop":
            ListaFileNomeFiles.append(ListaFileNome[s][:-8])
        else:
            ListaFileNomeFiles.append(ListaFileNome[s])
        s=s+1
    ListFileOrd=ListaFileCartelle+ListaFileNomeFiles
    fil = open("/home/USER/.config/xfce4/desktop/icons.screen0.rc", "w")
    while listaChiaviconta <len(ListFileOrd):
        a="["+ListFileOrd[listaChiaviconta]+"]"
        b=str(ListaRC[listaChiaviconta][0])
        c=str(ListaRC[listaChiaviconta][1])
        fil.write(a+"\n")
        fil.write(b+"\n")
        fil.write(c+"\n\n")
        listaChiaviconta=listaChiaviconta+1
    fil.close()
else:
    exit

Ovviamente chi conosce Python può modificarlo o migliorarlo a proprio piacimento.
Dopodiché salviamo, "menu > salva con nome (o save as)" in "home", livello superiore a "USER", col nome riordinaDesktop.py.


Parte quarta

La parte principale del lavoro è stata svolta. Adesso vedremo come utilizzare lo script Python appena creato. A tal scopo creeremo un semplice script bash (di shell).
Apriamo il terminale e digitiamo:

$ su -

per accedere come root, inseriamo la password di root, e spostiamoci nella cartella home/.
Diamo i seguenti comandi:

# touch riordinaDesktopAlfabetico.sh

INVIO

# nano riordinaDesktopAlfabetico.sh

INVIO..

Nell'editor di testo appena aperto, scriviamo, questi comandi:

#!/bin/bash
ls -p /home/USER/Scrivania > /home/USER/.config/xfce4/desktop/file.txt
python riordinaDesktop.py
xfdesktop --reload

in modo tale da avere: 4istantanea.png


Ovviamente il nome utente al posto di "USER".
Salviamo con "ctrl-o">"invio" e usciamo dall'editor con "ctrl-x".
Restando nella cartella "home/", diamo i permessi di eseguibile allo script appena creato:

# chmod +x riordinaDesktopAlfabetico.sh

Parte quinta

A questo punto bisogna creare un avviatore sul pannello per lanciare riordinaDesktopAlfabetico.sh.
Click col tasto destro sul "pannello" > aggiungi nuovi elementi", procedere come in figura:
5istantanea.png


Se si volesse ordinare la Scrivania in base alla data di creazione o di ultima modifica dei file, sostituire nel file riordinaDesktopAlfabetico.sh la riga:

ls -p /home/USER/Scrivania > /home/USER/.config/xfce4/desktop/file.txt

con:

ls -ptr /home/USER/Scrivania > /home/USER/.config/xfce4/desktop/file.txt

Che come si può osservare, aggiunge semplicemente due parametri a ls, -ptr, cioè Tempo e Reverse. Oppure, consigliabile, creare allo stesso modo un altro script, per esempio riordinaDesktopTemporale.sh, cambiando solamente la suddetta riga e assegnandogli un altro avviatore. In modo tale da mantenere entrambe le possibilità di ordinare le icone della Scrivania:
6istantanea.png7istantanea.png





Guida scritta da: Viveta 18:16, 26 gen 2013 (CET) Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized