Ultra Sparc - Copertina - Tips 04/98 |
Articoli
KDE
Di solito chi utilizza Linux, utilizza X per sviluppare/utilizzare applicazioni che richiedano l'interazione tra più entità (finestre) in un generico display. Le proprietà di X sono abbastanza note e quindi non ci soffermeremo più di tanto. La possibilità di utilizzare più window manager sopra X ha scatenato negli anni, tra gli utenti Unix prima e Linux poi, le fantasie più disparate portando a sviluppare varie interfacce che oltre a consentire di spostare le finestre, permettono di lanciare i programmi di maggiore utilizzo con la semplice pressione di un bottone oppure di modificare l'intero aspetto del desktop (si pensi ad Enlightment). Con un editor si può in un minuto aggiungere una funzionalità ad un interfaccia, permettendo di avere sempre lo stesso desktop. Ad esempio all'università utilizzo da anni sempre un clock in alto a sinistra, una barra *goodstuff, un modulo di fvwm* e il pager per gli n desk differenti.
Questo è durato e ha funzionato da sempre. Un problema nasce però dal
fatto che gli ambienti Unix, essendo multiutente, spingono le persone a
condividere le informazioni, focalizzando l'utilità di un programma più
sulle sue `potenziali capacita' che sulla conoscenza del come utilizzare
quella capacità (tanto c'è il man :-)) Con la diffusione dei PC e il
confronto diretto tra Linux e Windows/Mac la questione è diventata:
Utente Linux: Beh, io di solito con Linux risolvo così questo
problema.
Utente Win/Mac: Sì, ma Unix è difficile da imparare. C'è troppo da
leggere.
Utente Win: Si, è ``bastato'' importare il file Autocad in Word e
stampare.
Utente Linux: Mmm, latex + ps
È quindi nata l'esigenza di avere un ``desktop'' con delle proprietà che seguissero delle linee ben precise e che permettano di sviluppare delle applicazioni in grado di:
Il KDE ambisce a risolvere perlomeno i primi due punti e forse poi il terzo. Ovviamente questo riguarda un'applicazione che utiliza le librerie kde e quindi non sarà possibile (o quasi) effettuare le prime due funzioni.
Per la prima funzione, si deve stabilire un protocollo, cioè un metodo con il quale le applicazioni possono passarsi i dati e anche che significato hanno questi dati (non ha sento fare il DnD di una cosa che un programma non sa utilizzare :-)). Per la seconda funzione, si devono stabilire una serie di regole (ad esempio dove vanno messi i file che descrivono i menu e dove quelli del mio menù personale). Quando installo un programma, come fanno le persone a sapere che ``esiste'' e come lanciarlo?
Il KDE in questo caso utilizza una directory ``di sistema''
(/opt/kde
oppure /usr/local/kde
ad esempio) con la
seguente struttura:
[yurj@naima yurj]$ ls -l /opt/kde/ total 10 drwxr-xr-x 2 root root 2048 Mar 31 14:44 bin drwxr-xr-x 2 root root 1024 Mar 17 16:43 cgi-bin drwxr-xr-x 3 root root 1024 Mar 24 12:47 doc drwxr-xr-x 3 root root 3072 Mar 17 16:52 include drwxr-xr-x 3 root root 2048 Mar 31 14:44 lib drwxr-xr-x 13 yurj users 1024 Mar 24 12:47 share
bin
ci sono i programmi installati (es:
kedit
, knotes
, kdvi
, ecc.)
cgi-bin
ci sono dei programmi che sono lanciati dal
kdehelp
, tipo un programma per la ricerca di un topic oppure
per generare la lista dei programmi installati ogni volta che viene lanciato
(i file di help sono scritti in html)
doc
c'è la documentazione. Il KDE pone molta enfasi
nella localizzazione dei programmi. Ogni programma in kde può essere
italianizzato in maniera molto semplice in poco tempo. In sostanza basta
prendere un file che lista la traduzione delle frasi e compilarlo,
mettendolo poi in un'opportuna directory. Segnalo ktranslator
,
scritto da un italiano che aiuta notevolmente questo processo
share
contiene:
applnk
Esempio di file.kdelnk
[yurj@naima yurj]$ more /opt/kde/share/applnk/Home.kdelnk # KDE Config File [KDE Desktop Entry] Type=Application Exec=kfmclient folder %u file:$HOME # Quando si clicca sopra l'icona o si accede tramite il menu' sopra # questo file sara' lanciata un'istanza di kfm con la propria home # praticamente lo stesso che succede quando in qindows si cliccka su C: Icon=kfm_home.xpm TerminalOptions= Path= Terminal=0 Name=Home Directory Name[de]=Heimatverzeichnis Name[da]=Hjemme folder Name[nl]=Homedirectory Name[pl]=Katalog domowy Name[cs]=Domovský adresáø Name[sk]=Domovský prieèinok Name[sv]=Hemkatalogen Name[fi]=Kotihakemisto Name[fr]=Répertoire maison Name[it]=Directory "home" Name[pt]=A minha área Name[hu]=Saját könyvtár Comment=This folder contains all your personal files. Comment[de]=Dieses Verzeichnis enthält alle Ihre persönlichen Dateien. Comment[nl]=Deze map bevat all uw persoonlijke bestanden. Comment[pl]=Ten katalog zawiera wszystkie twoje osobiste pliki. Comment[cs]=Tento adresáø obsahuje va¹e osobní soubory Comment[sk]=Tento prieèinok obsahuje va¹e osobné súbory Comment[sv]=Den här katalogen innehåller alla dina personliga filer. Comment[da]=Denne folder indeholder alle dine personlige filer. Comment[fi]=Tässä kansiossa on kaikki henkilökohtaiset tiedostosi Comment[fr]=Ce répertoire contient tous vos fichiers personnels. Comment[it]=Questa cartella contiene tutti i tuoi file personali. Comment[pt]=Esta pasta contém todos os seus ficheiros pessoais. Comment[hu]=Ez a könyvtár tartalmazza a személyes file-aidat.
Comment
è quello che appare quando ci passate sopra col
mouse e in base alla variabile LANG che avete settato avrete i commenti
nella lingua di preferenza (il KDE è in grado di farlo tramite un programma
che chiede quali sono le tre lingue di preferenza...).
share/apps
share/locale
share/config
share/mimelnk
[yurj@naima yurj]$ more /opt/kde/share/mimelnk/text/html.kdelnk # KDE Config File [KDE Desktop Entry] Comment=HTML Page Comment[de]=HTML Seite Comment[nl]=HTML pagina Comment[pl]=Strona HTML Comment[fi]=HTML sivu Comment[fr]=Page HTML Comment[pt]=Página HTML Comment[it]=Pagina HTML DefaultApp=KDE Browser Icon=html.xpm Type=MimeType MimeType=text/html Patterns=*.html;*.HTML;*.htm;*.HTM;
Usa il KDE browser per visualizzare i file .html
. Il discorso
in verità è più ampio e meriterebbe un articolo a parte sui mime type...
Esistono altre directory, la cui funzione è specifica. Quindi quando
un'applicazione kde si installa, andrà a depositare le pixmap, e il
.kdelnk
in maniera di apparire nel menù :-).
La modifica delle proprietà del desktop è affidata a un programma (che è
un'interfaccia alle chiamate opportune della libreria kde) che permette di
specificare un po' di tutto (sfondi, bordi, pulsanti sulle finestre, ecc.).
È estensibile tramite moduli aggiuntivi. Ciò che è importante segnalare è
che (ogni) applicazione può modificare le impostazioni ad esempio del
desktop, chiamado ad esempio (invento il nome :-))
change_background_color
la quale chiamerà la funzione
di qt (è la librerie che sta sotto il kde) oppure direttamente la funzione
di X che permette di cambiare il colore di background.
Il terzo punto non creso sia stato ancora implementato. Esiste uno
standard chiamato CORBA (Common Object eccetera) che permetterebbe questo (e
anche altro) e ne esiste un'implementazione free per linux:
OmniORB2 per C++ della Olivetti & Oracle Research Labs.
di Yuri Carrer
Ultra Sparc - Copertina - Tips 04/98 |