Archivio

Posts Tagged ‘python’

Ho bisogno di un test da parte di tutti

25 luglio 2010 64 commenti

Ho bisogno di un test molto semplice da parte di tutti!

A questo indirizzo è presente un tar che contiene al suo interno un semplice script Python di test, non fa nulla di dannoso, non copia né legge files, non ci sono rischi di nessun tipo.

Una volta estratto il file nella home avviarlo con la finestra di terminale:

  • Se si utilizza Nautilus fare doppio click e scegliere Esegui nel terminale
  • Se si utilizza il terminale avviarlo con python test.py

Test threading 1

Appena avviato premere il pulsante start thread senza toccare nulla nell’interfaccia. Riprovare due o tre volte, sul terminale si vedrà il tempo impiegato per ogni elaborazione, sarà un numero nell’ordine dei centesimi di secondo.

Test Threading 2

Quindi eseguire il secondo test: cliccare sopra un elemento dell’albero sotto (senza aprirlo) e quindi cliccare nuovamente sul pulsante start thread.

Il tempo impiegato e` all’incirca lo stesso? Ripetere l’esperimento due o tre volte almeno anche in questo caso.

Qualcuno guardando il codice, essendo i due test assolutamente IDENTICI, potrà pensare che io sia impazzito ma è esattamente quel che sto pensando io da due giorni.

Sto riscontrando un difetto molto particolare, su alcune installazioni il secondo test e` circa 100-200 volte più lento (che sul mio nuovo progetto si traducono in varie decine di secondi) senza nessun motivo logico.

Grazie a chiunque della collaborazione, ho bisogno dei test di chiunque per determinare se sia un difetto diffuso.

Nautilus copia in/sposta su personalizzato (II)

11 luglio 2010 10 commenti

Nuovo aggiornamento per questa estensione di Nautilus che sto scrivendo, la nuova finestra di dialogo di sostituzione dei files, copiata uguale a quella che avrà presto Nautilus ufficiale di GNOME.

Finestra di sostituzione files

Che ve ne pare?

Aggiornamento dell’1 prima di andare a dormire

Rinomina del file

Implementata la corretta rilevazione dell’icona sulla base dell’estensione o del tipo di dati nel caso il file non abbia estensione.

Implementata la possibilità di rinominare il file nel caso che quello di destinazione già esista, ovviamente con verifica anche del nuovo nome scelto (in questo caso riporta l’errore scritto sotto in grassetto).

Implementata la possibilità di applicare la stessa risposta (Ometti o Sostituisci) a tutti i files successivi per sostituirli oppure ometterli tutti.

Debianizzare un programma Python: la guida completa

05 luglio 2010 4 commenti

La guida alla debianizzazione di un programma Python è ormai completa e disponibile per il download sia in formato PDF sia in formato HTML multipagina.

Entrambe le guide sono disponibili in questa casella Box.net.

Questa guida scaricabile è dedicata a DjNeophyte che per primo aveva mostrato il suo interesse e manifestato il desiderio di rilasciarla.

Debianizzare un programma Python #28

04 luglio 2010 Commenti disabilitati

Questa guida a puntate riporterà i passaggi necessari dalla pacchettizzazione fino all’inclusione ufficiale di un software scritto in Python (Gespeaker) su Debian e più avanti su Ubuntu. Ogni giorno per circa un mese sarà descritto un passaggio da seguire per poter debianizzare così un proprio software.

#28 Migrazione da Debian unstable a testing Leggi tutto…

Debianizzare un programma Python #27

03 luglio 2010 Commenti disabilitati

Questa guida a puntate riporterà i passaggi necessari dalla pacchettizzazione fino all’inclusione ufficiale di un software scritto in Python (Gespeaker) su Debian e più avanti su Ubuntu. Ogni giorno per circa un mese sarà descritto un passaggio da seguire per poter debianizzare così un proprio software.

#27 Il pacchetto viene accettato in Debian unstable Leggi tutto…

Debianizzare un programma Python #26

02 luglio 2010 Commenti disabilitati

Questa guida a puntate riporterà i passaggi necessari dalla pacchettizzazione fino all’inclusione ufficiale di un software scritto in Python (Gespeaker) su Debian e più avanti su Ubuntu. Ogni giorno per circa un mese sarà descritto un passaggio da seguire per poter debianizzare così un proprio software.

#26 Il pacchetto fa il suo ingresso in Debian Leggi tutto…

Debianizzare un programma Python #25

01 luglio 2010 Commenti disabilitati

Questa guida a puntate riporterà i passaggi necessari dalla pacchettizzazione fino all’inclusione ufficiale di un software scritto in Python (Gespeaker) su Debian e più avanti su Ubuntu. Ogni giorno per circa un mese sarà descritto un passaggio da seguire per poter debianizzare così un proprio software.

#25 Alla ricerca di uno sponsor – PAPT e PMPT Leggi tutto…

Manovrare le finestre da terminale con wmectrl

01 luglio 2010 23 commenti

Si tratta di un nuovo progetto che ho realizzato in un solo giorno, il suo nome è wmectrl (Window Manager Enhanced Control), uno strumento a riga di comando (ispirato a wmctrl che svolge un lavoro simile ma più limitato) che consente di manovrare le finestre del window manager ed eseguire numerose operazioni su di esse.

In tutte le finestre:

  • Elencare le finestre aperte (--list-windows)
  • Ridurre tutte le icone e mostrare il desktop (--show-desktop)
  • Ottenere informazioni sul loro stato (--show-information)

Per la scelta di schermo, spazio di lavoro e finestra:

  • Scegliere lo schermo (--screen)
  • Scegliere l’area di lavoro (--workspace)
  • Scegliere la finestra (--window)
  • Usare il titolo esatto nella scelta della finestra (--exact-title)
  • Usare il PID nella scelta della finestra (--exact-pid)
  • Usare il titolo dell’applicazione per la scelta della finestra (--exact-app-title)

Per gli spazi di lavoro (desktop virtuali):

  • Modificare il numero di spazi di lavoro (--set-workspaces-count)
  • Modificare il nome di un’area di lavoro (--set-workspace-name)
  • Cambiare l’area di lavoro attiva (--set-workspace-active)

Per controllare una finestra specifica:

  • Spostarla su un altra area di lavoro (--move-to)
  • Renderla attiva in primo piano (--activate)
  • Chiuderla senza chiudere il processo (--close)
  • Renderla visibile su tutte le aree di lavoro o solo su una (--pin)
  • Nasconderla dal selettore aree di lavoro (--skip-pager)
  • Nasconderla dalla barra delle applicazioni (--skip-tasklist)
  • Comprimerla (--shade)
  • Fissare la sua posizione (--sticky)

Riguardo la posizione di una finestra specifica:

  • Imporla sempre in primo piano (--above)
  • Importa sempre in ultimo piano (--below)
  • Avviare lo spostamento manuale (--manual-move)
  • Modificare la posizione (--left e –-top)

Riguardo la dimensione di una finestra specifica:

  • Minimizzarla e deminimizzarla (--minimized)
  • Massimizzarla e demassimizzarla (--maximized)
  • Massimizzarla e demassimizzarla orizzontalmente (--horizontally)
  • Massimizzarla e demassimizzarla verticalmente (--vertically)
  • Modificare la dimensione (--width e –-height)
  • Impostarla a schermo intero (--fullscreen)
  • Avviare il ridimensionamento manuale (--manual-resize)

Tutti i comandi sono disponibili eseguendo:

wmectrl --help

Esempi di utilizzo

Per elencare tutte le finestre con loro PID e titolo:

wmectrl --list-windows
5300 Pannello di bordo espanso inferiore
5300 Pannello di bordo espanso superiore
5301 x-nautilus-desktop
5518 Posta in arrivo - Cartelle locali - Mozilla Thunderbird
5489 Add New Post ‹ Ubuntu Trucchi — WordPress - Shiretoko
5520 Liferea
5301 wmectrl - Esplorazione file
5318 stjerm

Per ottenere informazioni sulla finestra attiva:

wmectrl -I
screen number:          0
screen size:            1024x768
WM name:                Metacity
showing desktop:        False
windows count:          10
selected window:        stjerm (5318)
window position:        112,344
window size:            800x400
window client position: 112,344
window client size:     800x400
window active:          True
window above:           True
window below:           False
window fullscreen:      False
window minimized:       False
window maximized:       False
window maximized H:     False
window maximized V:     False
window pinned:          True
window shaded:          False
window sticky:          True
window skip pager:      True
window skip tasklist:   True
window in workspace:    True
window in viewport:     True
window needs attention: False
window application:     stjerm (5318)
workspaces count:       6
selected workspace:     0 (Principale)
workspace size:         1024x768
workspace layout:       0x0
workspace viewport:     0x0
workspace virtual:      False

Per scegliere una finestra da una parte di titolo:

wmectrl -I -w Life
...
selected window:        Liferea (5520)
window application:     Liferea (5520)

Per scegliere una finestra col titolo esatto:

wmectrl -I --exact-title -w "wmectrl - Esplorazione file"
...
selected window:        wmectrl - Esplorazione file (5301)
window application:     File Manager (5301)

Per scegliere una finestra dal suo PID:

wmectrl -I --exact-pid -w 5518
...
selected window:        Posta in arrivo - Cartelle locali - Mozilla Thunderbird (5518)
window application:     Thunderbird-3.0 (5518)

Per scegliere una finestra dal nome dell’applicazione:

wmectrl -I --exact-app-title -w Thunderbird-3.0
...
selected window:        Posta in arrivo - Cartelle locali - Mozilla Thunderbird (5518)
window application:     Thunderbird-3.0 (5518)

Per ridurre a icona la finestra scelta:

wmectrl -w Thunderbird --minimize=true

Per annullare la minimizzazione:

wmectrl -w Thunderbird --minimize=false

Per massimizzare la finestra:

wmectrl -w Thunderbird --maximize=true

Per ripristinare la finestra:

wmectrl -w Thunderbird --maximize=false

Per cambiare posizione e dimensione della finestra:

wmectrl -w Thunderbird --left=100 --top=40 --width=500 --height=340

Per nasconderla dall’elenco delle finestre:

wmectrl -w Thunderbird --skip-tasklist=true

Per spostarla sulla terza area di lavoro:

wmectrl -w Thunderbird --workspace=2 --move-to

Per chiudere la finestra:

wmectrl -w Thunderbird --close

E così via, le combinazioni sono tante ed è possibile unirle tra loro per regolare con un solo comando il comportamento delle finestra voluta.

Il pacchetto wmectrl è disponibile nel Repository di Ubuntu Trucchi e sulla pagina del progetto ufficiale su Google Code.

Liferea (5520)

Debianizzare un programma Python #24

30 giugno 2010 1 commento

Questa guida a puntate riporterà i passaggi necessari dalla pacchettizzazione fino all’inclusione ufficiale di un software scritto in Python (Gespeaker) su Debian e più avanti su Ubuntu. Ogni giorno per circa un mese sarà descritto un passaggio da seguire per poter debianizzare così un proprio software.

#24 Alla ricerca di uno sponsor – Debian Mentors Leggi tutto…

Debianizzare un programma Python #23

29 giugno 2010 Commenti disabilitati

Questa guida a puntate riporterà i passaggi necessari dalla pacchettizzazione fino all’inclusione ufficiale di un software scritto in Python (Gespeaker) su Debian e più avanti su Ubuntu. Ogni giorno per circa un mese sarà descritto un passaggio da seguire per poter debianizzare così un proprio software.

#23 Alla ricerca di uno sponsor – Introduzione Leggi tutto…