Wat jij wilt
De nieuwe interface van LibreOffice aanpassen
LibreOffice heeft bij versie 5.3 van het opensource officepakket een bedieningsconcept ingevoerd met een ribbonachtige interface. Daar zit meer achter dan simpelweg een kopie van Microsofts linten. Je kunt die bedieningselementen namelijk aanpassen zonder de broncode opnieuw te hoeven compileren.
De aangepaste interface zorgde bij de release van LibreOffice 5.3 voor een hoop ophef. Veel gebruikers waren bang dat het opensource officepakket zich helemaal over zou geven aan de in de community zo gehate linten en dat menu's en werkbalken volledig zouden verdwijnen. Maar het LibreOfficeteam heeft duidelijk van Microsofts fouten geleerd en schotelt de gebruikers niet zomaar een nieuwe interface voor. De vertrouwde menu's en werkbalken zijn gewoon gebleven en het nieuwe design wordt voorlopig als experimentele feature gebracht. Om het te kunnen gebruiken moet je daarom eerst bij de 'Opties...' bij 'LibreOffice / Geavanceerd' de experimentele functies aanzetten.
Daarna kun je de interface van de programma's Writer, Calc en Impress omzetten via 'Beeld / Werkbalklayout'. Met de optie Notebookbalk voeg je dan een ribbonachtige balk in. Bij andere programma's is hij nog niet geïmplementeerd. Via het icoontje links naast het tabblad Bestand kun je de Menubalk terughalen. Daarmee kun je dan via 'Beeld / Notebookbalk' tussen twee weergaves switchen. Standaard zijn de items net als bij Microsofts Officeprogramma's verdeeld over meerdere tabbladen, maar je kunt de balk ook afhankelijk maken van de context. Via de menubalk kun je ook weer helemaal terug naar de klassieke interface.
Flexibel met Muffin
Het achterliggende concept heet Muffin. Dat staat voor My User Friendly & Flexible Interface. Van begin af aan was het voor het LibreOfficeteam belangrijk dat de interface zich aanpast aan de wensen van de gebruiker en flexibel te gebruiken is op verschillende soorten hardware en dus onder andere optimaal gebruik maakt van het beschikbare schermformaat.
Met traditionele menu's en werkbalken lukte dat steeds minder goed. Doordat er gestaag functies bijkwamen,
werd het vooral voor nieuwe gebruikers steeds lastiger om ze überhaupt te vinden. Volgens de ontwikkelaars bieden de klassieke werkbalken niet genoeg mogelijkheden om items overzichtelijker weer te geven en de gebruikers beter te informeren. Je kunt alleen scheidslijnen aan brengen om functies te groeperen. De bij LibreOffice 4 ingevoerde zijbalk moest een eerste stap zijn om dit probleem op te lossen. De nieuwe balken moeten de bediening nu nog makkelijker maken.
Technisch gezien gaat het daarbij om een canvas waar de ontwikkelaars alle mogelijke bedieningselementen op kwijt kunnen, in verschillende groottes en al dan niet met bijschrift. Dat kunnen icoontjes zijn, maar ook knoppen en dropdownmenu's. Op die manier krijg je op een notebookbalk veel meer elementen tot je beschikking dan bij klassieke werkbalken. In de weergave met 'Contextuele groepen' zijn de icoontjes opgedeeld in vakken met een bijschrift. Dat maakt het voor nieuwe gebruikers makkelijker om in te stappen. Door icoontjes in verschillende groottes te combineren kunnen de functies overzichtelijk gegroepeerd worden. Belangrijke functies springen eruit doordat ze groter worden geplaatst. Terwijl Microsofts ribbons de inhoud contextgevoelig aanpassen, blijven de balken van LibreOffice statisch om gebruikers niet in de war te brengen. Dat is allemaal niet alleen handig voor nieuwelingen, maar bijvoorbeeld ook voor mensen met een notebook met touchscreen. De icoontjes zijn namelijk veel nauwkeuriger aan te tikken dan op een traditionele werkbalk. Dat de ontwikkelaars ook de nadruk op leggen op gebruik met notebooks blijkt wel uit de naamgeving.
Met de hand
De definitie van de notebookbalken zit niet vast in de programmacode ingebakken, maar wordt meegeleverd in bestanden met de extensie '.ui'. Voor Writer staan die in de submap share\config\soffice.cfg\ modules\swriter\ui van de LibreOfficemap. De definitiebestanden voor Calc en Impress vind je in vergelijkbare mappen met de betreffende modulenamen.
De uibestanden zelf zijn pure tekstbestanden met xmltags. In principe kun je ze met een willekeurige editor bewerken. De volgende keer dat je LibreOffice opstart, worden de wijzigingen dan meteen zichtbaar. Maar met een editor werkt dat moeizaam en onoverzichtelijk. Het LibreOfficeteam raadt dan ook aan GUItoolkit Glade te gebruiken. Die is opensource beschikbaar voor Linux en Windows. Met de grafische interface kun je de uibestanden direct bewerken en bijvoorbeeld functies die je toch niet gebruikt uit de notebookbalk halen.
Omweg onder Windows
Onder Linux is Glade veel makkelijker te installeren dan onder Windows. Je hoeft niks apart te downloaden. In plaats daarvan open je een terminalvenster en voer je het volgende commando in:
sudo apt-get install glade
Behalve Glade heb je ook nog de GTKbibliotheek nodig:
sudo apt-get install libgtk-3-dev
Met dit commando worden alle benodigde componenten van de GTK 3toolkit geïnstalleerd. Vervolgens kun je Glade meteen starten.
Onder Windows gaat dat een stuk lastiger. Er is wel een installatiepakket voor Windows, maar dat is volkomen
Volgens de ontwikkelaars bieden
de klassieke werkbalken niet genoeg mogelijkheden om items
overzichtelijker weer te geven
achterhaald en werkt niet samen met de LibreOfficebestanden. Om toch recente versies van Glade en de GTKtoolkit te installeren, kun je de Msys2installer gebruiken. Msys2 is een verzameling GNUtools voor ontwikkelaars. Daar zit ook een packetmanager bij onder de naam Pacman. Daarmee kun je softwarepakketten van internet halen en installeren.
Download daarom eerst Msys2 (zie de link aan het eind van dit artikel). Dat is een normaal Windowsinstallatiepakket. Je installeert het dus door erop te dubbelklikken. Het is raadzaam om op een 64bit systeem ook de 64bit versie van Msys2 te installeren. Let op: je moet het installeren op een NTFSschijf, want op een FATpartitie draait het pakket niet. Het best kun je Msys2 installeren in een eigen map, direct onder de rootmap ¥ bijvoorbeeld D:\Msys2.
Vervolgens start je Msys2 met een dubbelklik op het exebestand. Je krijgt dan een terminalvenster met een shell. Daarin update je Msys2 en Pacman eerst naar de meest recent versie:
update-core pacman -Su
Het kan nodig zijn Msys2 te sluiten en opnieuw te starten na het eerste commando. Voor het installeren van GTK kun je vervolgens laten zien welke pakketten er beschikbaar zijn:
pacman -Ss gtk3
Om met Glade te werken, heb je de GTKtoolkit nodig. Dat pakket installeer je met het volgende commando, waarbij je de naam overneemt uit de lijst beschikbare pakketten:
pacman -S mingw64/mingw-w64-x86_64-gtk3
Om de juiste Gladeversie te installeren, kun je het best eerst weer de lijst met beschikbare pakketten opvragen:
pacman -Ss glade
Afhankelijk van je Windowssysteem kies je dan voor de 32 of 64bit variant. Die laatste installeer je met het volgende commando:
pacman -S mingw64/mingw-w64-x86_64-glade
Voor de 32bit versie gebruik je:
pacman -S mingw32/mingw-w64-i686-glade
Vervolgens kun je het Msys2venster sluiten. Je kunt Glade nu starten met een dubbelklik op glade.exe. Die vind je in de binmap van de Msys2installatie onder mingw64 dan wel mingw32.
Onder Windows moet je er bovendien op letten dat LibreOffice op dezelfde drive geïnstalleerd staat als Glade en dat er geen spaties in de mapnamen zitten. Anders kan Glade de voor LibreOffice benodigde componenten niet vinden. Desnoods moet je het officepakket in een geschikte map opnieuw installeren.
Wensen doorvoeren
Alle aanpassingen aan het bestand hebben meteen effect op het gedrag van LibreOffice. Daarom moet je eerst de betreffende mappen backuppen, zodat je het pakket in geval van nood kunt terugzetten naar de oorspronkelijke situatie. Het best kun je alle mappen onder
share\config\soffice.cfg\modules ergens veilig opslaan.
Bij de eerste keer opstarten moet je in Glade nog een pad naar de LibreOfficecatalogusbestanden toevoegen. Ga daarvoor naar 'Bewerken / Preferences' en klik onderaan bij 'Extra catalog paths' op de '+'knop. Selecteer dan in de LibreOfficeinstallatiemap de map share\glade, dus bijvoorbeeld E:\LibreOffice\share\glade. Daarna moet je Glade opnieuw opstarten. Nu verschijnen de LibreOfficebedieningselementen links in de zijbalk. Als je met de muis over een van de controls gaat, krijg je de naam te zien, zodat je weet waar hij voor bedoeld is.
Op deze manier kun je bestaande notebookbalken aanpassen. Bij elk van de LibreOfficemodules zijn daarvoor de bestanden notebookbar_simple.ui, notebookbar_groups.ui en notebookbar. ui van belang. Als je zo'n bestand laadt, geeft Glade het weer, maar helaas niet helemaal correct. In plaats van de betreffende icoontjes zie je alleen dummy's en ook de posities komen slechts grofweg overeen met die in LibreOffice. Dat maakt het lastig om de balken helemaal om te bouwen, maar je kunt wel kleine dingen aanpassen en bijvoorbeeld overbodige items verwijderen.
Nutteloos kan weg
Het bestand notebookbar_groups.ui definieert bijvoorbeeld de notebookbalk met 'Contextuele groepen'. Daar zou je de items voor het opmaken van tekst uit kunnen halen, aangezien die ook al in de zijbalk zitten. Daarvoor laad je het definitiebestand en selecteer je de hele groep Text. Klik daar met rechts op en kies Delete uit het contextmenu. Het is niet nodig om de andere elementen in Glade een nieuwe plek te geven. Dat doet LibreOffice automatisch.
Aangezien de groep Text met een lijn gescheiden was van het volgende vak, moet je die separator nog wel verwijderen. Daarvoor selecteer je de groep links naast het verwijderde vak. In Glade vind je het betreffende element aan de rechterkant onder 'search widgets'. Daaronder zijn dan weer de twee separators gedefinieerd. Klik met rechts op een daarvan en verwijder hem via het contextmenu. Nadat je de wijzigingen opgeslagen hebt, kun je het resultaat in het betreffende LibreOfficeprogramma controle ren. Daarvoor hoef je het niet eens opnieuw op te starten. Het volstaat om de notebookbalk te deactiveren. Activeer je hem vervolgens weer, dan laadt LibreOffice het configuratiebestand opnieuw en krijg je de nieuwste versie te zien.
Op dezelfde manier kun je ook losse items uit de notebookbalk weghalen. Binnen een groep kunnen meerdere elementen in een container samengevoegd zijn. Als je de icoontjes verwijderd hebt, laat Glade die zien als een gerasterd hokje. Om te zorgen dat de notebookbalk die plek vrijgeeft, klik je erop en verwijder je het via het contextmenu.
Met eigenschappen kun je de opmaak van de verschillende groepen aanpassen. Dat is bijvoorbeeld handig als je de afstand tussen de vakken wilt vergroten. Als je een groep selecteert, zie je de verschillende parameters in het Propertiesvenster rechts. Door de afstand naar het naastgelegen vak wat te vergroten, krijgt de notebookbalk wat meer lucht. Standaard staat die Spatiëring op 5. Om de notebookbalk een uniforme uitstraling te geven kun je het best voor alle groepen dezelfde afstand instellen. Je kunt daar een beetje mee experimenteren, maar het is aan te raden om het bestand tussendoor steeds op te slaan en in het bijbehorende LibreOfficeprogramma te checken.
Extra items toevoegen is helaas niet zo makkelijk. Daarvoor heb je namelijk gedetailleerde kennis nodig van het objectmodel van LibreOffice met de Uni versal Network Objects (UNO). Alleen dan kun je na het toevoegen van een element de juiste actie definiëren en ook de juiste parameters instellen. Maar ook zo bieden de configuratiebestanden al een aantal mogelijkheden om de notebookbalken aan je eigen voorkeuren aan te passen.
Om te zorgen dat je inspanningen de moeite waard blijven en je aanpassingen niet met de eerstvolgende LibreOfficeupdate weer verdwijnen, moet je de gewijzigde bestanden beslist backuppen en na een update weer terugzetten. LibreOffice overschrijft de betreffende bestanden bij een update namelijk zonder toestemming te vragen.
Nog experimenteel
Momenteel kun je de notebookbalken van LibreOffice niet heel makkelijk aanpassen, maar je kunt tenminste iets zelf doen en dat is al beter dan bij Microsoft Office. Voor een toekomstige versie heeft het designteam configuratieopties binnen LibreOfficeprogramma's op de planning staan. Daarmee moet je de balken direct kunnen ombouwen en ook nieuwe items toevoegen zonder dat je met configuratiebestanden in de weer hoeft. Niet voor niets zijn de notebookbalken nu nog een experimentele functie om te laten zien welke kant het project op gaat.
(hhe)