Newsgroup: it.comp.software.newsreader
Titolo: [xNews] how do...

Piccolo elenco di cose che mi piacerebbe si potessero fare con xNews (e se 
per caso già si possono fare, ditemi come! ^__^)
-In lettura, esauriti gli unread di un gruppo, passare direttamente alla 
lettura del gruppo successivo...
-Venire avvisati di risposte ai propri messaggi non solo quando si apre un 
gruppo, ma quando si apre il programma
-Renedere meno difficoltosa l'operazione di recuperare un determinato 
posto, se un secondo dopo averlo letto e chiusa la finestra di quel gruppo, 
si vuole andare a ribeccarlo
...continua...
-- 
...ale...
icq: 28735838
http://lermocolle.splinder.it

 se per caso già si possono fare, ditemi come! ^__^)
se non ti ha risposto neppure Alan, la vedo dura.. (mi piacerebbe che per 
certi versi xnews fosse un pochino più elastico e amichevole)
-- 
Mauro Falzari ( 
http://digilander.libero.it/mauro.falzari
 )
"Se guardi nell'abisso, anche l'abisso guarda in te." (Friedrich Nietzsche)
[nota: per rispondermi togli il 666]

 per certi versi xnews fosse un pochino più elastico e amichevole)
Devo dire che xnews mi va benissimo così com'è, solo che si sa, 
accontentarsi non è caratteristica dell'uomo...
Tra l'altro noto che ultimamente gli articoli con argomento xnews sono 
molto meno numerosi che in passato... calo di interesse o estrema facilità 
d'uso?


 gruppo, si vuole andare a ribeccarlo
Dagli un punteggio. Se il ti interessano post che parlano di un determinato 
argomento che _solitamente_ viene specificato nel subject puoi usare lo 
score file altrimenti glielo assegni manualmente (l'una cosa non esclude 
l'altra per quei post nel cui subject non ci sono indicazioni).
-- 
Una volta che avete conosciuto il volo, camminerete sulla Terra guardando 
il cielo, perché là siete stati e là desiderate tornare (Leonardo da Vinci)

 
Ok, ci sono.
Ma la cosa che a volte mi capita č di questo tipo... lego un messaggio in 
un ng, magari senza farci troppo caso... chiudo il gruppo... illuminazione: 
cavolo, quel messaggio diceva una cosa interessante! riapriamo il gruppo... 
ovviamente vuoto, unica soluzione ctrl+shift+enter...
In effetti non so pensare neanch'io quale potrebbe essere una soluzione piů 
comoda... forse un'opzione carica messaggi non letti fino alle ore hh:mm :-
)))


 ctrl+shift+enter... 
intendi Open Offline vero?


 soluzione ctrl+shift+enter... 
potresti settare in modo da vedere anche gli articoli già letti.
Ora non ricordo bene come si fa ...
Forse, aprendo il gruppo, premi F7, salvi intestazioni o intestazioni 
ed articoli. Poi agisci sui filtri, per esempio scegliendo Data e 
ultimi 0 giorni visualizzi quelli scaricati in quel giorno.
A meno che non segui ng iper-prolifici IDL-style non dovrebbe essere 
un problema trovare il post che ti interessa.
AleX
-- 
Le antenne di Radio Vaticana provocano la leucemia
La NATO ha chiesto di poterle installare in Kossovo
                  Luttazzi  -  Marzo 2001

 ...continua...
^__^
Ciao.
-- 
 /   _ _ | Xnews in italiano e Guida ai Menu
( (/( (/ | 
http://digilander.libero.it/xnews

 intendi Open Offline vero?
Mmm, intendevo Reload Read Articles, ho messo un ctrl di troppo, sorry...


 letto, alla successiva riapertura ricomincerai tutto d'accapo...
...oppure mangia un po' più di fosforo... questa ti è rimasta nella 
tastiera...
In effeti in quest'ultimo chiedevo soluzioni a un problema non problema..
Grazie 1000 delle consulenze


 soluzione ctrl+shift+enter... 
No, se hai attivato lo storage header basta che riapri il gruppo e 
premi CTRL+F9 (opzioni di default) e ti appaiono tutti i messaggi 
compresi quelli markati come letti.
Trovi quello che ti ha illuminato e lo metti nello score o quello che 
ti pare.
-- 
PremPa :)
- Fletto i muscoli e sono nel vuoto -
Rat-Man by Leo Ortolani

 d'uso?
<campanilismo> O forse è un po' colpa di Dialog? </campanilismo> ;)))
-- 
Fare Well! | 
gan...@ithn.net
 ~ ICQ# 16553733 ~ now: 19/09/2003 13.24.16
G          | 40tude Dialog (presto in Italiano): 
http://snurl.com/dialog
I was not the sixth Beatle (Bart's chalkboard #CABF04)

 fare - devo trovare il tempo) per farlo fare ad Hamster...
Bene, sono riuscito a combinare qualcosa... ^__^
# LA SOLITA PREMESSA
Io non sono un programmatore (e si vede), i miei script sono dei
/polmonacci/, *consumano* un sacco di variabili e *non* sono per niente
ottimizzati...
Ma li posto lo stesso, per tre ragioni:
- perché non sono capace di fare di meglio;
- perché cmq funzionano (salvo errori ;o) e sono abbastanza leggibili e
  commentati, in modo che chi li legge possa entrare facilmente nel
  meccanismo oppure farsi venire qualche altra idea;
- perché spero che qualcun'altro si appassioni ed inizi come ho fatto
  io, grazie alla lettura e disponibilità di persone come *Kurgo*,
  *Joe Fox*, *Ghost*, *AlexSeb* e tanti altri...
Vi posso assicurare che scrivere uno script dà una grande soddisfazione,
magari non come scrivere un newsreader, ma... ;O)
# A COSA SERVE
Mentre voi fate quello che vi pare con il PC, Hamster zitto zitto
lavora, e vi sincronizza posta e newsgroup ogni 10-20 min¹ (a seconda
di quello che avete impostato nello script).
Se trova qualche msg di risposta ad uno vostro, vi avvisa con un beep e
si apre un popup con scritto la 'profondità'², il 'Newsgroup', il 'From'
ed il 'Subject'.
# COSA SERVE
Non molto...
Avere un M-ID personalizzato con un ID-Token oppure con un FQDN
*univoci*, che sono in grado di generare molti nr³.
Avere Hamster.
# DESCRIZIONE
Lo script in realtà è composto da due script, *Risposte* e *PopUp*.
*Risposte*, una volta personalizzato con i vs. dati, lo mettete in
    Configura -> Automazione... -> Azioni -> Articoli News
    *Incoming (NNTP)*
*PopUp* invece, lo andrete a mettere nel vs. script di sincronizzazione
subito dopo l'ultimo HamWaitIdle
	HamMessage (3,0)
	HamNewsJobsClear
	HamNewsJobsPostDef
	HamNewsJobsPullDef
	HamNewsJobsStart
	HamMessage (3,1)
	HamWaitIdle
->    PopUp
-----
*Risposte* carica ogni msg che entra, legge le References, se è
presente la vs. stringa inizia a scansionare un M-ID per volta, a
partire dal fondo, fino alla profondità voluta.
Se ritrova di nuovo in quei M-ID la vs. firma, aggiunge una riga al
file ELENCO.TXT (se non esiste lo genera) e passa al msg. successivo.
In pratica costruisce il file ELENCO.TXT
Già da qui si capiscono le moltissime possibilità che offre Hamster,
se per esempio anziché scansionare i *References* scansionassi i M-ID,
potrei con semplici comandi:
    If (Re_Match($MID, "gandalf"))
    Execute("sndrec32 /play /close /embedding D:\temp\mooouh.wav")
    EndIf
    If (Re_Match($MID, "xplanet"))
    Execute("sndrec32 /play /close /embedding D:\temp\meaohw.wav")
    EndIf
    If (Re_Match($MID, "lillathedog"))
    Execute("sndrec32 /play /close /embedding D:\temp\whouff.wav")
    EndIf
essere avvisato appena posta un anim... utente che di solito scrive
cose interessanti... -__^
| Ale: Complimenti! ma sa che lei ha proprio un bel modo di divertirsi!
| Franz: Eh sì, sono grandi soddisfazioni... Oh fly...
-----
*PopUp* invece (che si può richiamare anche a mano dal menu), non fa
altro che controllare se esiste il file, fare il beep, leggerlo e far
apparire la finestrella con le info.
Se si pigia OK il file viene cancellato, se si pigia Annulla il file
viene lasciato intonso.
Per la finestrella avevo a disposizione tre comandi:
    MsgBox, PopupBox e ListBox.
Il più adatto è senz'altro l'ultimo, se non fosse che ha dei problemi
di ridimensionameto in larghezza (l'altezza invece si setta).
Il secondo (quello che ho scelto) è come il primo, con la sola
differenza che dopo un tempo impostato (nello script 60 s) si chiude
come se si spingesse l'OK (così se avete un sacco di risposte da non
stare nello schermo il file si resetta da solo).
# DOPO TUTTA 'STA FUFFA ECCO LE TRE RIGHE IN CROCE
##### RISPOSTE #####
#!load hamster.hsm
#!load hmessage.hsm
var($Messaggio, $Elenco, $Ref, $Ref0)
var($Oggetto, $From, $NG)
varset($Profondita, 0)
$Messaggio=ListAlloc
$Elenco=ListAlloc
ListLoad($Messaggio, paramstr(2))
$Ref=MsgGetHeader($Messaggio, "References:" )
If (Re_Match($Ref, "XXXXX"))   ### mettere il proprio ID-Token o FQDN
  While($Profondita < 4)   ### impostare la profondità delle risposte
    Re_Parse($Ref, "(.*)(<.+@.+>)\s?$", $Ref, $Ref0)
    If (Re_Match($Ref0, "XXXXX"))   ### sempre il proprio ID-Token o FQDN
      $Oggetto=MsgGetHeader($Messaggio, "Subject:" )
      $From=MsgGetHeader($Messaggio, "From:" )
      $NG=MsgGetHeader($Messaggio, "Newsgroups:" )
      If(FileExists("D:\temp\elenco.txt"))   ### eventualmente cambiare percorso
        ListLoad($Elenco, "D:\temp\elenco.txt")   ### stesso percorso
      EndIf
      ListAdd($Elenco, "*" + ($Profondita+1) + "* {" + $NG + "} /" + $From + "/ [" + $Oggetto + "]")
      ListSave($Elenco, "D:\temp\elenco.txt")   ### stesso percorso
      $Profondita = 4   ### mettere la stessa profondità
    EndIf
    $Profondita=$Profondita + 1
  EndWhile
EndIf
ListFree($Messaggio)
ListFree($Elenco)
quit
##### FINE RISPOSTE #####
##### POPUP #####
#!load hamster.hsm
#!load hwindows.hsm
var($Elenco, $Testo)
varset($OK, 0)
$Elenco=ListAlloc
If(FileExists("D:\temp\elenco.txt"))   ### percorso che avete impostato
  ListLoad($Elenco, "D:\temp\elenco.txt")   ### stesso percorso
  Beep ($SIGNAL_ASTERISK)
  $Testo=ListGetText($Elenco)
  $OK=PopUpBox($Testo, "Risposte ai tuoi messaggi.  Premi [Ok] per azzerare.", 0x00000001, 60)
  If($Ok=1)
    FileDelete("D:\temp\elenco.txt")   ### stesso percorso
  EndIf
EndIf
ListFree($Elenco)
quit
##### FINE POPUP #####
Ciao.
__________
¹ A parte *Gandalf* ed i /compari/ "dialoghesi", che generano più
  traffico di SWEN e sincronizzano ogni 30 s ;oPR
² Per profondità intendo se il msg è la diretta risposta ad uno vostro
  oppure la risposta ad una risposta, e così via...
³ Se il vs. nr non lo genera, potete farlo generare ad Hamster oppure
  usare l'eventuale vs. @ID-XXXXX di *Individual* (ad esempio).
