Con Gambas3 puoi con il 2 non mi sembra, comunque è sufficiente controllare la presenza di tale libreria
dpkg -l | grep libnotify-bin
se ti viene restituito l'output è presente altrimenti no e quindi deve essere installata.
Nel dubbio metterei semplicemente in "testa" al programma un bel comando "gksu apt-get install libnotify-bin" specificando ovviamente all'utente che non gli vai ad installare nulla di anomalo.
In alternativa dopo che hai creato il deb del progetto lo riapri e metti il pacchetto come dipendenza a mano.
Vedi tu come preferisci procedere. :)
ok capito!!
un'altra cosa: ho messo il comando ed effettivamente ora mi genera le notifiche solo che dopo averla generata il mio programma si pianta completamente... ho sbagliato qualcosa?
questa è l'istruzione che ho inserito
SHELL "notify-send \"" & path & " \" "
ovviamente path è la variabile che contiene quello che deve comparire nella notifica
dopo il comando SHELL hai messo il comando WAIT?
SHELL "notify-send \"" & path & " \" "
WAIT
queste sono le opzione che riporta la man
OPTIONS
-u, --urgency=LEVEL Specifies the urgency level (low, normal, criti‐
cal).
-t, --expire-time=TIME
Specifies the timeout in milliseconds at which to expire the
notification.
-i, --icon=ICON[,ICON...]
Specifies an icon filename or stock icon to display.
-c, --category=TYPE[,TYPE...]
Specifies the notification category.
Help options:
-?, --help
Show this help message
-h, --hint=TYPE:NAME:VALUE
Specifies basic extra data to pass. Valid types are int, double,
string and byte.
ho provato con l'expire time e la urgency ma non cambia niente
il codice all'interno della classe che visualizza la notifica è
PUBLIC SUB _new(path AS String)
SHELL "notify-send \"" & path & " \" "
WAIT
END
ho provato sia con che senza WAIT ma senza differenze
prova con questo codice:
PUBLIC SUB _new(path AS String)
SHELL "notify-send " & path
END
Prova con
PUBLIC SUB _new(path AS String)
SHELL "notify-send \"" & path & "\""
WAIT
END
secondo me siete tutti fusi dal caldo!
PUBLIC SUB _new(path AS String)
dim comando as string
comando= "notify-send " & path
SHELL comando
END
prova a chidere con gli apici:
PUBLIC SUB Form_Open()
DIM txt AS String
txt = "Ciao"
SHELL "notify-send '" & txt & "'"
END
Comunque penso che tutti i suggerimenti che ti hanno dato i nostri amici prima di me andavano bene...
Il tuo problema penso che sia questo:
tu dichiari il metodo _new(path as String)
Quindi, presumendo che sia un form, quando richiami il form in questo modo: FMain.Show() ti genera l'errore Not enough arguments.
Cosi' come l'hai scritta tu dovresti crearti un modulo/classe di avvio, e...
PUBLIC SUB Main()
DIM X AS FMain
X = NEW FMain("Ciao")
X.Show()
END
a me il codice funziona benissimo cosi su un evento button
PUBLIC SUB Button1_Click()
DIM path AS String
DIM comando AS String
path = "Pippo"
comando = "notify-send " & path
SHELL comando
END
ma la variabile path cosa rappresenta?
SUPPLIC SUB _new è relativo a un aclasse o a un form?
il nome di variabile phat in alcuni oggetti è una parola riservata percui potrebbe essere li il problema
È molto più "elegante" riaprire il sorgente e metterlo come dipendenza :D
Ora spieghi come fare :-[ :P
Per quanto riguarda Debian/Ubuntu
Dopo che hai creato il pacchetto deb, ti posizioni nella directory che contiene i file generati da Gambas e da terminale dai il seguente comando
dpkg-source -x nomepacchetto.dsc
Verrà creata una directory con il "pacchetto" esploso, all'interno trovi una directory chiamata "debian" che contiene una serie di file, tu devi aprire con un editor quello che si chiama "control", all'inizio troverai una serie di informazioni tra cui l'elenco dei pacchetti dipendenza per il funzionamento del programma, aggiungi quello che vuoi salvi ed esci.
Sempre da terminale dai questo comando
et voilà ;D
Ovviamente sono stato molto grossolano nella descrizione, se vuoi approfondire l'argomento della creazione dei pacchetti ti consiglio "la guida del Manteiner Debian" (ti consiglio anche una cassa di aspirine per il mal di testa :rotfl:)