Voor het vak Small ICT Projects moesten we een project zoeken die bijdraagt aan de mensheid en het moest opensource zijn en het moest jou iets bijleren. Na lang denken kwam ik uit op een KDE applet maken. Dat zijn van die dingen die je op desktop plaatst zoals een kalender, uurwerk, cpu informatie, … Dus ik maak een applet die de uurroosters weergeeft van de KHL. Nu dit helemaal terzijde want ik ga in deze post uitleggen hoe je begint met het bouwen van zo’n applet. Dit schrijf ik omdat ik zelf wat gesukkeld heb de laatste twee dagen. Het is gebasseerd op de KDE tutorial. Let’s go!
Eerst en vooral maak een map waarin je je applet bestanden gaat plaatsen. Ik plaats mijn bestanden in ~/projects/tutorial1, waar tutorial1 de naam is van mijn applet.
Nu gaan we 4 bestanden maken. Je vind ze hieronder en als je op de naam klikt, ga je naar de broncode. Stop die gewoon in je project map. Wat de code allemaal betekend ga ik niet uitleggen, ik stel voor dat je de KDE tutorial hiervoor raadpleegt. Ik kan zeggen dat de .desktop file belangrijk is voor de naam en de omschrijving van de applet. Ook de regel “K_EXPORT_PLASMA_APPLET” in het .cpp bestand is belangrijk omdat die een link maakt tussen je code en je .desktop file. De CmakeLists.txt is een bestand dat het commando cmake gebruikt (zie verder).
plasma-applet-tutorial1.desktop
plasma-tutorial1.h
plasma-tutorial1.cpp
CMakeLists.txt
Nu we onze applet geschreven hebben, gaan we hem builden. Builden is twee commando’s werk. We gaan eerst een console openen en we gaan met cd naar onze project map (~/projects/tutorial1). Daarin typen we het volgende commando:
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config –prefix`
Hij gaat nu een heleboel output geven en wat files in je project map plaatsen. Even een rand opmerking over die -DCMAKE_INSTALL_PREFIX. Er wordt een commando uitgevoerd, namelijk kde4-config –prefix. Dit commando zegt waar je kde4 geinstalleerd staat. Kijk eerst eens wat voor output dit commando geeft, is dit iets als /usr dan is dit goed. Geeft hij niets, probeer dan eens met kde-config –prefix. Werkt dit ook niet, ga dan de folders share/kde4/services en lib/kde4 zoeken.
ls -R / 2> /dev/null | grep “share/kde4/services”
ls -R / 2> /dev/null | grep “lib/kde4”
Je krijgt dan output als /usr/share/kde4/services, de /usr is je prefix voor cmake.
Genoeg over die cmake en zijn prefix, normaal werkt dit zonder problemen. Nu we cmake uitgevoerd hebben, gaan we het commando make uitvoeren.
make
Dit gaat een shared object (.so) versie van onze tutorial1.cpp plaatsen in lib/ (plasma_applet_tutorial1.so). Als je dat hebt, dan mag je het gaan installeren.
Het installeren is makkelijk. Je kopieert die .so naar /usr/lib/kde4 en je kopieert de .desktop naar /usr/share/kde4/services. De /usr is de kde4 prefix, zie hogerop als die niet /usr is.
sudo cp lib/plasma_applet_tutorial1.so /usr/lib/kde4/
sudo cp plasma-applet-tutorial1.desktop /usr/share/kde4/services/
Nu is het geinstalleerd en kunnen we het runnen. Dankzij plasmoidviewer kunnen we hem in preview zien.
plasmoidviewer -c desktop tutorial1
tutorial1 is de naam van je applet. Je applet staat ook in de lijst van applets wanneer je uitlogt en terug inlogt in KDE, of gewoon eens je plasma herstarten.
Vragen, suggesties en opmerkingen mogen altijd geplaatst worden in de reacties.
ps: ik gebruik opensuse 11.3