Jump to content
Nokioteca Forum

Active Desktop


Bongoman
 Share

Recommended Posts

  • Risposte 131
  • Created
  • Ultima Risposta

Top Posters In This Topic

Ragazzi, ho trovato anke un'altro modo...

-> http://www.mobilenin.com/pys60/resources/ex_TopWindow_1.py <-

Dal titolo e dall'applicazione, sembra fare proprio quello che vogliamo...no???

Così come è, disegna un quadrato, quindi un'immagine, e rimane lì sullo schermo anche se entri nei menu e fai altre cose: puoi anche entrare in FExplorer e rimane in sovrimpressione quel quadrato.

Non ha bisogno di librerie esterne, solo Python a partire dalla 1.3.14

;)b):Pb)b)

Mitico Mauro, ma dove le trovi ste cose? :D

Anche se sono andato tante volte sul sito di mobilenin non ci avevo mai fatto caso. Bravo.

Link to comment
Condividi su altri siti

scusa x il ritardo dok.. ultimamente scrivevo da altri computer,, e non dal mio..eppoi, non è che sia un accanito fan di msn....

Cmq

Così come è, disegna un quadrato, quindi un'immagine, e rimane lì sullo schermo anche se entri nei menu e fai altre cose: puoi anche entrare in FExplorer e rimane in sovrimpressione quel quadrato.

Non ha bisogno di librerie esterne, solo Python a partire dalla 1.3.14

Stavo guardando di quell'app xke non usa il modulo fgimage...

Quindi mi sembra più appropriato..si potrebbe copiare la struttura di controllo del processo da quello di fgimage, utilizzando però il metodo di questo file, che anzichè mettere in primo piano una foto, mette in primo piano disegni, e presumo testo, eccetera...

Link to comment
Condividi su altri siti

parlavo prima con mauro.. tra le altre cose uno dei problemi che penso ci siano è quello che io non so come posso ricavare l'icona di un programma che magari aggiungiamo all'active desktop...

in teoria ogni app ha un file .aif che in qualche modo contiene un file .mbm in cui risiedono le icone menu e dell'app insieme alle relative mask.. o in qualche modo si scopre come trarre l'icona da una app oppure bisogna fare una specie di raccolta con le img dei prg standard e i + usati in modo da poterli aggiungerli al programma e far apparire quelle img.. non so se mi sn spiegato xD

Per il resto, teoricamente dovrebbe essere fattibile l'idea di un active desktop.. domani se riesco provo a farmi prestare un N70 per vedere un pò meglio come è fatto e come funziona... anche se 1 mezza idea già la ho xD

ma tu dici da codice? come estrarre icone dai mbm?

per l'automask delle immagini trasparenti (png)

def automask(im):

width, height = im.size

mask = Image.new(im.size, '1')

tran = im.getpixel((0,0))[0]

for y in range(height):

line = im.getpixel([(x, y) for x in range(width)])

for x in range(width):

if line[x] == tran:

mask.point((x,y), 0)

return mask

per vedere le icone degli mbm del tipo ROM

http://www.bigbold.com/snippets/posts/show/1482

from appuifw import *

avkon = u'z:\\system\\data\\avkon.mbm'

def showicon(id_list, maskfunc=lambda x:x):

if type(id_list) == int:

id_list = [id_list] # one item

entries = []

if type(maskfunc) == dict: # allow dict as a func

func = lambda id: maskfunc.get(id,id)

else:

func = maskfunc

for id in id_list:

item = u'%s, %s' % (id, func(id))

icon = Icon(avkon, id, func(id))

entries.append((item, u'', icon))

app.body = Listbox(entries, lambda: None)

showicon(range(503)) # all icons, including mask

showicon(range(0,100,2), lambda x:x+1) # first 50 icons, with their mask brother

per utilizzare le icone come immagini

from appuifw import *

import icon_image, e32

app.body = c = Canvas()

icon = icon_image('z:\\system\\data\\avkon.mbm', 28)

c.blit(icon)

Modificato da dany88
Link to comment
Condividi su altri siti

se clicki su un immagine (ad esempio su "oper") ti apre qlk app? b)

Guarda che ci riuscirei benissimo a fare questo, però ancora è presto per questo passaggio.

Ora io sposto a video con il joystick tutto l'ambaradan ma solo nel python e non direttamente sul desktop.

Ora devo implementare la parte relativa al solo desktop e intercettare sul desktop il joystick e dopo di che associare alla pressione l'apertura di un programma.

Ancora da capire la parte relativa alle icone da posizionare.

Per prenderle dalle applicazioni bisogna trovare il modo di visualizzare le applicazioni installate e da li estrarre le icone dai vari file .aif (questa parte è da invetare proprio :blink: )

Link to comment
Condividi su altri siti

penso, che intenda che ancora non ha fatto un controllo che assicuri che le immagini appaiano solo sul desktop....

comunque, io non ho trovato niente per gli aif, come intendete fare? chiediamo a chi ha fatto i programmi mbm-->aif di fornirci le specifiche?

dany io pensavo le vie sono 2:

o riusciamo a trarre il .mbm dall'aif (magari come hai detto te kiedendo delle specifiche su questi file .aif)

oppure includiamo nel prg tutte le icone dei programmi + comuni e magari mano a mano le aggiungiamo sotto richiesta.. (o magari le autoaggiunge direttamente l'utente in una cartella specifica.. con un controllo che quando aggiungi 1 app se trova l'img bene altrimenti chiede di sceglierla tra quelle disponibili nella cartella dell'app chiamata tipo icons..)

se la prima nn ci è possibile non ci rimane che la seconda ^^

oppure se avete idee ditemi voi b)

Link to comment
Condividi su altri siti

Aggiornamento:

ora la situazione è questa:

fescr073gf9.jpg

la selezione però è possibile spostarla solo nel programma e non sul deskop.

Quando premo il tasto centrale parte la relativa applicazione ma sempre dal programma e non sul desktop.

Problemi riscontrati:

Per far rimanere l'applicazione sul desktop e avere la possibilità di muovere i tasti, il programma deve essere attivo, cioè all'interno devo metere un ciclo del tipo:

while 1:

... fai le operazioni necessarie

ma questo provoca altri problemi.

Ho fatto una cosa strana per cercare di risolvere il problema ma ne è uscito un altro:

da programma catturo la schermata del desktop e poi la voglio mettere nel programma sotto la barra di queste icone.

Allora, il programma carica la schermata dello sfondo ma appena entra nella routine di sovraimpressione della barra allora disegna lo schermo in bianco (dunque sembra che la routine per mettere in sovrinpressione qualsiasi cosa utilizza una mask del colore BIANCO: fregatura).

Be per il momento è tutto.

@Dokkis

so che sei in gamba, quindi proviamo strade diverse e poi alla fine mettiamo tutto insieme, se ti va.

Per quanto riguarda le icone e la descrizione:

io ho pensato di mettere un file di testo che può creare l'utente e mettere i nomi delle applicazioni e da li andare in E:\system\apps\nome_messo\nome_messo.app

e una cartella con le icone da mettere sempre l'utente della misura che seve al programma.

Modificato da Oper
Link to comment
Condividi su altri siti

ho trovato questo

The .aif file is not a text file! It is generated from a special resource (.rss) file that you must write. Let us name it MyappAif.rss (there will most likely already be a file called Myapp.rss that contains the resources for the program’s internal workings). For most simple cases the following template should work:

http://newlc.com/Icons-AIFs-and-SIS-files-...r_recherche=aif

Modificato da dany88
Link to comment
Condividi su altri siti

fammi capire Oper...

tu finora sei riuscito a creare un Active Desktop che peròè controllabile solo attraverso l'interfaccia di python, giusto?

Erratooooooooooooooooo, ci sono riuscito a farlo. b)

Devo fissare solo qualche bug e poi sembra OK.

Inoltre mancano le opzioni: tipo dove prendere le icone, i nomi e queste cose qui.

Stay tuned.

Il programma mette la barra come avete visto dallo screenshot e sul desktop la selezione si può muovere e scegliere l'applicazione.

Il problema è che i tasti qualche volta sembra proprio che non vadano, ma quasi sempre funzia.

Quando entri nei prog la barra sparisce e ricompare quando termini i prog.

Solo che quando entri in menu o nel tasto destro (bluetooth nel mio caso) la barra rimane e scompare solo se premi i tasti del programma.

Link to comment
Condividi su altri siti

se rimpicciolisci il tutto

(come da consiglio di piè , portandoti a 5)

viene na figata!!!!!! b)

P.S : alleghi una possibilita x il 6600 ? b)

thx x tutto quello ke stai/state facendo! b)

Sul mio 6600 fa il suo sporco lavoro.

Per il momento niente rimpicciolimento, altri calcoli da fare (bastaaaaaaaaaaaaaaaaaaaaaa, mi sono rotto a trovare le pozioni ;) )

Il viola l'ho messo per vedere il contrasto, metto un'opzione per il colore, così anche per il testo.

Ho già aggiunto delle opzioni e funzionano bene (Nome programma, descrizione, disco).

Il problema rimane ancora la scelta delle icone.

Volendo si possono mettere delle icone fatte in casa dall'utente, rispettando delle regole.

Per quanto riguarda la trasparenza, non c'entra niente. quella è un'immagine così come l'ho presa con lo screenshot e tagliata in photoshop.

Pazienza, comunque.

Link to comment
Condividi su altri siti

ok fa niente , sei grande cmq!

..dimmi solo una cosa...nel tuo screen ho visto "fexplore"..

...tagliava...dici che riesci a risolverlo quello?

mentre sul 6600 sporco lavoro vuol dire che funge?

(dimme de si..!!) b)

ah..ultima cosa , il prog rimane in background?

Sul 6600 FUNZIONA MOLTO BENE a parte i bug menzionati.

Per la lunghezza dei caratteri, c'è l'opzione di mettere oltre al nome anche la descrizione che appare a video.

Si. il programma rimane in background.

Ora ho risolto anche per i colori: tutto in opzioni salvabili su file di testo.

Adesso vado a dormire. Ho lasciato il cell con il programma attivo sul cell e domani mattina vedo se ha ciucciato la batteria b)

Link to comment
Condividi su altri siti

La notte è passata senza problemi, la batteria è ancora intatta.

Ora ho bisogno di alcune cose:

1 - l'icona del programma (non mettete titoli perchè già ho deciso b) )

2 - le 4 applicazioni più usate in modo da metterle per default (naturalmente si possono cambiare da opzioni)

Questa è la nuova veste:

fescr074ju5.jpg

Modificato da Oper
Link to comment
Condividi su altri siti

Allora:

questo è il risultato finale, a meno che non ci siamo richieste dell'ultimora.

Il programma si chiama: ......

spiegazione del nome: viene fuori da Desktop sopratutto, Desktop sopra, Desktop over, DesktOper

I programmi inseriti di default sono:

Agenda

FExplorer

Galleria

Fotocamera

(naturalmente li potete cambiare a vostro piacimento modificando il file di testo all'interno usando il Notepad di windows e rispettando le righe)

Ecco uno screenshot del lavoro:

desktopersb0.gif

Faccio una discussione a parte nella sezione programmi 6600-6630-6680.

Link dove scaricare il programma e postare suggerimenti o impressioni o bug:

http://www.nokioteca.net/home/forum/index....showtopic=51722

Spero avervi fatto cosa gradita.

Oper.

Modificato da Oper
Link to comment
Condividi su altri siti

ciao oper.. noto con piacere che hai gia finito una prima versione di questa app.. pian piano (tra un break e l'altro dallo studio) la sto facendo anche io (magari poi a opera finita le confrontiamo xD)...

tra le mie idee malate gia realizzate ci sono tipo l'interazione della grafica del menu dell'active desktop con quella del tema stesso (del tema dello sfondo che appare su Phone, ho inventato una funzione che definirei modestamente geniale per fare cio xD)

poi una volta aperto il menu (tasto dx o sx) questo si chiude dopo un tempo (4 secondi per ora, che poi magari sarà impostabile) e mentre si chiude scompare tipo da destra verso sinistra (in poco tempo, circa 1 secondo e mezzo).. giusto per dare un tocco di animazione al menu che risulta secondo me poi troppo statico b)

Appena riesco provo a fare qualche screenshot a programma attivo.. xD

Link to comment
Condividi su altri siti

dany io pensavo le vie sono 2:

o riusciamo a trarre il .mbm dall'aif (magari come hai detto te kiedendo delle specifiche su questi file .aif)

oppure includiamo nel prg tutte le icone dei programmi + comuni e magari mano a mano le aggiungiamo sotto richiesta.. (o magari le autoaggiunge direttamente l'utente in una cartella specifica.. con un controllo che quando aggiungi 1 app se trova l'img bene altrimenti chiede di sceglierla tra quelle disponibili nella cartella dell'app chiamata tipo icons..)

se la prima nn ci è possibile non ci rimane che la seconda ^^

oppure se avete idee ditemi voi b)

in C c'è una funzione da usare (sia per trovare le uid di tutti i programmi installati, sia per trovare l'icona), ho abbozzato un codice (penso funzionante, ma nn compilato\provato)

Per python o ci facciamo un estenzione o speriamo che il.socio ce la faccia b)

RApaLsSession iLsSession;

MAppUidObserver& iObserver;

class TiconExtract

{

public:

TInt32 iAppUid;

TApaAppCaption iAppCaption;

};

void CIconExt::AppsToUiL()

{

TApaAppInfo apaAppInfo;

TiconExtract appInfo;

iApps.Reset();

User::LeaveIfError(iLsSession.GetAllApps());

while(iLsSession.GetNextApp(apaAppInfo) == KErrNone)

{

appInfo.iAppCaption = apaAppInfo.iCaption;

appInfo.iAppUid = apaAppInfo.iUid.iUid;

iIcon = CApaMaskedBitmap::NewLC();

RApaLsSession session;

User::LeaveIfError(session.Connect());

TInt err = session.GetAppIcon(appInfo.iAppUid, 2, *iIcon);

User::LeaveIfError(err);

Modificato da dany88
Link to comment
Condividi su altri siti

dany per le icone per ora penso che dobbiamo prelevarle da file e basta..

cmq sia in questi 2 giorni (ieri e oggi) ho lavorato anche io ad una versione di questo progetto activedesktop.. posto qui il risultato di cio che ho ottenuto fino ad ora.. è semplicemente una DEMO quindi serve giusto per farvi vedere come funziona... in pratica per ora non è minimamente personalizzabile... è tutto di default.. ecco xkè dico che è una demo ma mi è fondamentale che la proviate per individuare bug, possibili aggiunte ecc... (sto cercando di avvicinarmi il + possibile all'activedesktop del 6680, grazie ad uno screenshot che non mi ricordo chi mi aveva postato xD)

tanto per elencare differenze con quello di oper:

- si integra con lo sfondo del tema (ma se si cambia tema rimane il tema vecchio precedentemente utilizzato, per quello posso fare al max che ogni tot tipo 30-60 sec ricattura l'img con il tema utilizzato.. xkè se lo faccio ad ogni apertura del menu, la sua apertura diventa poi molto meno fluida e meno immediata, ci metteva circa 1-2 secondi ad aprirsi, mentre in questo modo è molto immediato)

- autominimize del menu... il menu dopo tot secondi (5 impostati ora e in futuro impostabili) si toglie dal desktop facendo una sorta di animazione da destra verso sinistra per poi scomparire b) (giusto per dare un tocco di animazione gradevole, spero..)

- closemenu istantaneo senza animazione premendo il tasto di selezione destro (tipico di uscita dai programmi)

- closemenu quasi immediato quando si switcha dall'app phone al menu o ad altre app... infatti il menu si chiude da solo se il task Phone non risulta + essere attivo.. è quasi immediato perchè per un attimo, una frazione di secondo, rimane visibile anche nella nuova schermata ad es nel menu ecc.. ma scompare subito dopo

- dal task phone, se si digitano i tasti sinistra o destra per aprire il menu, in contemporanea NON vengono aperte le applicazioni che dal cell avevamo impostato per quel tasto... in questo modo ad es se premiamo destra ci parte solo il menu dell'app e non l'agenda!

- tutte le operazioni fondamentali vengono svolte quando l'app risulta visibile sul desktop, quindi solo quando usiamo il menu, mentre appena si minimizza, il programma non svolge nessuna funzione se non quella di catturare i tasti destra e sinistra con una funzione di callback, in questo modo quando il menu non è aperto teoricamente l'applicazione non fa niente e non dovrebbe quindi incidere molto sullo stato della batteria (bisogna cmq fare delle prove), mentre per quanto riguarda la ram alcune img rimangono cmq in memoria quindi non si svuota di molto se il menu viene minimizzato (questo a vantaggio della velocità di apertura del menu che ad una nuova apertura non dovrà caricare tutte le immagini..)

- menu a 5 icone (che ipoteticamente spero di estenderlo ad un potenziale di programmi "infiniti".. nel senso che volevo provare a fare un activedesktop con il menu anche a scorrimento.. potendo quindi inserire anche + di 5 programmi...)

- sotto la barra menu appaiono quante memo sono previste per il giorno attuale xD (sempre preso da activedesktop del 6680 b))

le differenze sostanziali dovrebbero essere queste.. fatemi sapere come vi funziona e gli eventuali bug/aggiunte...

PS: appena aprite il programma una volta ke vi porta sul desktop aspettate un paio di secondi prima di aprirlo xkè ancora si deve caricare del tutto, questa cosa poi penso di "fixarla" in modo che tipo anche se sta caricando aspetta che finisce di caricare e parte il menu.. bye ^^

aspetto notizie per sapere come continuare il progetto xD

EDIT: per il pacchetto .sis vedete post + giu ^^

Modificato da dokkis
Link to comment
Condividi su altri siti

ora lo provo e ti dico... ah, l'immaine l'avevo postata io qlk post fà b) ... cmq una cs, ma xk nn unite i vostri progetti tu ed oper ? così esce un app unica ke rakkiude tutte le funzioni...ke dite?

la mia idea era quella di una collaborazione.. poi oper ha praticamente iniziato da solo il progetto e parallelamente pochi giorni dopo (ieri) l'ho iniziato io.. xkè interessa anche a me creare quest'app come la voglio io b)

alla fine si potrebbero anche unire tutte le cose che hanno di buono entrambe le app..

Link to comment
Condividi su altri siti

bella dok b) , davvero ottima b) , prevedo un buon prosequio ;) ... cmq passiamo ai "problemi", di problemi nn ne ho notati molti, anzi, solo 1, cioè ke purtroppo anke qst sw và in conflitto cn smartsettings, cmq, l'effetto è bellissimo :blink: solo ke 5 sec. sn un pò pochi, ma in una prossima ver. (cm hai detto sù) si potranno impostare, una cs ke nn mi piace e la selezione delle icone, cioè "piena", preferirei una del tipo "bordata" cm in desktoper, poi se magari in un altra versione farai in modo ke si possa impostare la distanza, cioè la posizione della barra cm accade cn il sw di oper, però nella prossima ver. dovresti mettere più personalizzazione ke qui è assente (anke se d'altronde l'avevi già scritto sù)...cmq x il resto ttt ok, per quei 20-30 min ke lo sto usando nn mi stà dando alcun fastidio, anzi b)

Link to comment
Condividi su altri siti

non capisco, con un semplice ciclo come quello ti ritrovi con le icone della applicazioni in una variabile

allora ti dico un paio di cose magari capisci meglio b)

solo per fare questo lavoro in questi 2 giorni ho PERSO almeno 8 ore e non ho studiato affatto nulla x scuola e mi trovo ora indietro xkè sto mese tra compiti e interrogazioni è un casino..

aggiungici tutto il lavoro che dovrò fare per completare il programma con tutte le opzioni personalizzabili ecc..

non riesco proprio a vedere tempo per studiare come fare 1 estensione in python... andrei a perdere almeno 1 altra giornata intera e magari non otterrei neanche nessun risultato... quindi per ora la tengo da parte.. magari in un futuro ^^

Link to comment
Condividi su altri siti

Una volta per tutte, è il python che succhia la ram, non il programma: nè quello di okkis nè quello mio.

okkis? asdasd

cmq sia è vero non dipende proprio da noi.. anche xkè se apro una semplice app in python (che carica poche img e che ha poche funzioni) occupa quasi 1 mb di ram quindi mi sembra logico che una app + complessa come questa occupi almeno 1.5 mb di ram ^^

purtroppo noi possiamo fare ben poco..

@oper: hai visto un pò l'abbozzo della mia app? come ti sembra? b)

Link to comment
Condividi su altri siti

okkis? asdasd

cmq sia è vero non dipende proprio da noi.. anche xkè se apro una semplice app in python (che carica poche img e che ha poche funzioni) occupa quasi 1 mb di ram quindi mi sembra logico che una app + complessa come questa occupi almeno 1.5 mb di ram ^^

purtroppo noi possiamo fare ben poco..

@oper: hai visto un pò l'abbozzo della mia app? come ti sembra? ;)

okkis dipende da questa ca**o di tastiera che ogni tanto si mangia i tasti b)

Per quanto riguarda il tuo approccio, devo dire che non è niente male, anzi, visto che il python è Open Source, io penso sempre di ricavare qualcosa dal codice degli altri b)

Ho visto qualche passaggio che mi garba parecchio ma sono 2 ore che sto rinco**ionendo e ora getto un po la spugna.

Per quanto riguarda il refresh a video che la mia app fa in modo alquanto squallido, avevo già provato la tua strada senza aver ancora visto la tua, però ho problemi con il remove_image che ancora devo risolvere.

Ho notato che hai messo la parte relativa al calendario sotto la barra e questo volevo farlo anche io dato le richieste. Mi sa che lo implemento se non se ne va tanto tempo.

La parte relativa alla trasparenza delle icone l'hai inventata tu?

Poi ancora una cosa: lo sfondo preso dal tema lo avevo intuito anch'io come fare però nella mia per il fatto che non c'è trasparenza non serve :blink:

Link to comment
Condividi su altri siti

Please sign in to comment

You will be able to leave a comment after signing in



Accedi Ora
 Share


×
×
  • Crea Nuovo...

Informazione Importante

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy