Repository 32bit  Forum
Repository 64bit  Wiki

Come adattare script KDE3, che usano dcop, su KDE4? [OK]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Come adattare script KDE3, che usano dcop, su KDE4? [OK]

Messaggioda zoros » dom dic 19, 2010 15:01

Ciao,
nel passaggio a KDE4 dcop è stato sostituito in qualche modo da dbus .... alcuni anni fa mia figlia aveva scritto il primo antivirus per Linux "just for fun" veramente efficace :D ... ma su KDE4 la progressbar (via dcop) non funziona ... si può adattare lo script a KDE4 senza stravolgerlo?

allego code LinVir.sh ... i fortunati possessori di KDE3 possono provarlo anche così ;) ...

Codice: Seleziona tutto
#!/bin/bash

DATA=`echo $'\127\151\156\144\157\167\163'`

echo "Avvio di LinVir"

kdialog --msgbox "Benvenuto su LinVir: il primo antivirus per Linux! Permi OK per iniziare la procedura di ricerca di virus" --title "LinVir"
dcopRef=`kdialog --progressbar "Initialising ..." 4`
sleep 1.5
dcop $dcopRef setProgress 1
dcop $dcopRef setLabel "Scansione del disco ..."
sleep 2
dcop $dcopRef setProgress 2
sleep 2
dcop $dcopRef setLabel "1 trovato | Conclusione ricerca"
dcop $dcopRef setProgress 3
sleep 2
dcop $dcopRef setProgress 4
sleep 2
dcop $dcopRef close
kdialog --sorry "Ritrovata una partizione infetta. Premi OK per aggiustare il TUO problema" -title "LinVir"
dcopRef=`kdialog --progressbar "Inizio formattazione della partizione di $DATA(TM)" 4`
sleep 3
dcop $dcopRef setProgress 1
dcop $dcopRef setLabel "Eliminazione files in corso ..."
sleep 2.5
dcop $dcopRef setProgress 2
sleep 2
dcop $dcopRef setLabel "Sto sovrascrivendo 35 volte files vuoti sulla partizione infetta per evitare recuperi di essa"
dcop $dcopRef setProgress 3
sleep 5.5
dcop $dcopRef setProgress 4
sleep 0.3
dcop $dcopRef setLabel "Pulitura finale ..."
dcop $dcopRef setProgress 5
sleep 2
dcop $dcopRef close
kdialog --msgbox "Complimenti! Eliminazione della partizione $DATA(TM) nociva effettuata con successo!" --title "LinVir"
Ultima modifica di zoros il dom dic 19, 2010 19:08, modificato 1 volta in totale.
vorrei riavere le mie firme ...
Avatar utente
zoros
Linux 3.x
Linux 3.x
 
Messaggi: 1294
Iscritto il: lun mag 28, 2007 22:51
Località: Gorizia
Nome Cognome: Fabio∙Zorba
Slackware: 13.37
Kernel: 3.2.5
Desktop: KDE-3.5.10

Re: Come adattare script KDE3, che usano dcop, su KDE4?

Messaggioda robbybby » dom dic 19, 2010 15:53

Secondo questo
http://techbase.kde.org/Development/Tut ... ox_example
basta sostituire qdbus a dcop.

In effetti, il suo esempio funziona.
Avatar utente
robbybby
Linux 3.x
Linux 3.x
 
Messaggi: 1077
Iscritto il: sab dic 16, 2006 11:48
Località: Fra Trantor e Terminus
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5

Re: Come adattare script KDE3, che usano dcop, su KDE4?

Messaggioda zoros » dom dic 19, 2010 19:07

Sì robbybby, funziona come da link :thumbright: ... forse non avevo googolato a sufficienza ...

cambia anche la sintassi (ed è anche case sensitive) ... da dcop:
Codice: Seleziona tutto
dcop $dcopRef setProgress 1
dcop $dcopRef setLabel "Scansione del disco ..."
a qdbus:
Codice: Seleziona tutto
qdbus $qdbusRef Set "" value 1
qdbus $qdbusRef setLabelText "Scansione del disco ..."


aggiungo code LinVir.sh per KDE4 (non provato su versione KDE4 recente):
Codice: Seleziona tutto
#!/bin/bash

DATA=`echo $'\127\151\156\144\157\167\163'`

echo "Avvio di LinVir"

kdialog --msgbox "Benvenuto su LinVir: il primo antivirus per Linux! Permi OK per iniziare la procedura di ricerca di virus" --title "LinVir"
qdbusRef=`kdialog --progressbar "Initialising ..." 4`
sleep 1.5
qdbus $qdbusRef Set "" value 1
qdbus $qdbusRef setLabelText "Scansione del disco ..."
sleep 2
qdbus $qdbusRef Set "" value 2
sleep 2
qdbus $qdbusRef setLabelText "1 trovato | Conclusione ricerca"
qdbus $qdbusRef Set "" value 3
sleep 2
qdbus $qdbusRef Set "" value 4
sleep 2
qdbus $qdbusRef close
kdialog --sorry "Ritrovata una partizione infetta. Premi OK per aggiustare il TUO problema" -title "LinVir"
qdbusRef=`kdialog --progressbar "Inizio formattazione della partizione di $DATA(TM)" 4`
sleep 3
qdbus $qdbusRef Set "" value 1
qdbus $qdbusRef setLabelText "Eliminazione files in corso ..."
sleep 2.5
qdbus $qdbusRef Set "" value 2
sleep 2
qdbus $qdbusRef setLabelText "Sto sovrascrivendo 35 volte files vuoti sulla partizione infetta per evitare recuperi di essa"
qdbus $qdbusRef Set "" value 3
sleep 5.5
qdbus $qdbusRef Set "" value 4
sleep 0.3
qdbus $qdbusRef setLabelText "Pulitura finale ..."
qdbus $qdbusRef Set "" value 5
sleep 2
qdbus $qdbusRef close
kdialog --msgbox "Complimenti! Eliminazione della partizione $DATA(TM) nociva effettuata con successo!" --title "LinVir"

ah ... questo antivirus è efficace anche senza permessi di root :lol:
vorrei riavere le mie firme ...
Avatar utente
zoros
Linux 3.x
Linux 3.x
 
Messaggi: 1294
Iscritto il: lun mag 28, 2007 22:51
Località: Gorizia
Nome Cognome: Fabio∙Zorba
Slackware: 13.37
Kernel: 3.2.5
Desktop: KDE-3.5.10


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite