Dive into LibreOffice – Hidden Gems

Tutorials – LibreOffice

Article from Issue 200/2017

Discover some hidden and lesser known features in LibreOffice, to help you work faster and smarter (and gain extra geek points).

If you've been following the development of LibreOffice since it was forked from OpenOffice.org in 2010, you'll know that a great deal of effort has been put into cleaning up the source code. This has made the suite easier to compile, and, more importantly, it's easier for new contributors to get involved. Along the way, new features have been added and Microsoft Office compatibility has been improved, but by and large the software doesn't look or feel drastically different in 2017.

That's a good thing, of course – office suite users tend to value consistency and stability rather than shiny new widgets with every release. But there are some changes and new features that could really take LibreOffice up a level, and although they aren't available out of the box, with a bit of tweaking you can try them out. In this article, we'll show you some tips and tricks to get more out of LibreOffice, using features you may not have come across before.

Try a Tasty MUFFIN

In recent years, some LibreOffice users have been asking for a more "modern" user interface alternative to the regular toolbar layout. However, implementing such a change is no easy task. The LibreOffice design community [1] has to constantly juggle the demands of various types of users, some of whom like things exactly as they are and resist any change, and others who want the software to look and feel more like Microsoft Office. Whatever the design team does, someone will be unhappy.

That means lots of things need to be considered when making large-scale changes to the GUI, potentially breaking many workflows. In December 2016, The Document Foundation (the non-profit entity behind LibreOffice) announced MUFFIN, the "My User Friendly and Flexible Interface" [2]. This concept will be gradually introduced in forthcoming versions of the suite, providing users with multiple GUI layout options:

  • The standard layout with two toolbars at the top
  • A single toolbar mode to save screen space
  • A single toolbar with a pop-out sidebar to provide extra functionality
  • And, the new NotebookBar

You may be thinking at this point: why so many options? Couldn't the design team just focus on one layout and make it perfect? Well, that would be one approach, but it risks alienating a big chunk of users. The LibreOffice design community has to keep long-time users (who want to stick with regular toolbar layouts) satisfied, while also enticing new users who want a more "modern" design. The Document Foundation is financed largely by donations from end users, so it makes sense to keep as many as possible happy, even if the end result is a bunch of interface options.

One of those options, as mentioned above, is the NotebookBar. This made its first appearance in LibreOffice 5.3, but even if you're running that version of the suite, you may not have tried it yet (more on that in a moment). The NotebookBar was developed by the design community as a way to "evolve past the restrictions of toolbars" [3]. Essentially, it's a large toolbar where designers have the freedom to do anything they want with the space. To quote the design team:

"With a blank canvas, a designer can place any UI widget on it, including the usual buttons with or without a label, a section label to identify the group of controls, or more advanced widgets like tabs. They also have the ability to define any dimension for buttons, so they serve as a visual attractor, and all together have a larger catalog of controls to choose from tha[t] couldn't be found in classic toolbars. Furthermore, they can define that the main menu can be hidden, or whether it should have a particular icon theme, for instance."

What's especially interesting here is the use of contextual groups. This means that some controls and sections of the NotebookBar are disabled when you're doing certain tasks. For example, you probably always want access to buttons for loading and saving files, and performing undo and redo operations, but you don't need immediate access to cropping and rotation operations unless you've clicked on an image. To see how this works, see the design team's mock-up in Figure 1.

Figure 1: The LibreOffice NotebookBar came to life following many discussions and mock-ups from the design community.

Give It a Go

That's enough background – here's how to try it. The NotebookBar is included in LibreOffice 5.3, but because it's very much an experimental feature and not recommended for production use, you won't find it in the menus or options dialog. To make it available, go to Tools | Options in the menu, and then Advanced on the left-hand side. Check the Enable experimental features (may be unstable) box and click OK – you'll be prompted to restart LibreOffice.

After that, go to View | Toolbar Layout in the menu and choose NotebookBar. Et voila, you'll see the shiny new interface like shown in Figure 2. Immediately, you'll notice that the NotebookBar contains several tabs along the top to switch between various categories. Click a tab and the buttons underneath change accordingly – and these buttons are grouped into categories as well. It might look a little odd compared to the traditional toolbar approach, and you may notice some glitches in places (e.g., missing icons), but it is very much an experimental feature as mentioned.

Figure 2: This shows the NotebookBar in its tabbed view – click the document icon in the top-left to access the menu.

Now, there are some alternative layouts for the NotebookBar as well. Click on the document icon in the top left and choose Menubar to enable the menu. Then go to View | NotebookBar and try one of the other designs – Contextual groups and Contextual single. If you choose the former, try inserting an image; when you then click on the image, you'll see that the NotebookBar's design changes to offer functionality relating to images. Type some text, though, and the NotebookBar adapts accordingly. (See Figure 3 for an example.)

Figure 3: Another NotebookBar layout is "contextual groups," where buttons change depending on what you've clicked.

You can now spend some time exploring the NotebookBar and its various layouts, but if you want to return to the normal GUI, click View | Toolbar Layout | Default. As we speak, the LibreOffice design team is working on updates and refinements to the NotebookBar, and it may even become a standard option (i.e., not just experimental) in the next version of the suite, 5.4, which is due in late July or early August 2017. If you're a big fan of the traditional GUI and the NotebookBar doesn't float your boat, worry not – there are no plans to remove the standard toolbar layout. For more information on the NotebookBar, including a roadmap for upcoming releases, see the TDF Wiki [4].

Command-Line Tricks

You probably start LibreOffice via your desktop environment or window manager, clicking a button to start the suite as a whole or one of its modules (e.g., Writer or Calc). But you can run it from the command line as well with some useful extra options. First of all, the exact command you use will vary depending on your distro and how you installed LibreOffice. If you're using your distro's own packages, you can usually start it with soffice (referring to StarOffice), loffice, or libreoffice. However, if you've installed using the packages on LibreOffice's own website, you'll need to add the version number, such as libreoffice5.3.

To start the suite with Writer being displayed immediately (rather than the Start Center), use:

soffice --writer

For Calc use --calc, and for Impress use --impress; these parameters are especially useful if you're creating new launcher buttons in your desktop or window manager. For Impress, it's possible to launch the suite and go straight into a presentation, without initially displaying the user interface, like so:

soffice --show filename.odp

This will switch to full-screen mode immediately, and when the presentation ends, LibreOffice is closed. This feature is handy if you give a lot of presentations, in that you can link them to launchers on your desktop or window, and have them shown seamlessly in just a couple of clicks (without having to fiddle around in the GUI for a few seconds). Another related parameter is --view, which shows a document in read-only mode – so no editing is allowed.

If you've been unlucky and had LibreOffice crash on you, the next time it's started, it will offer to (try to) recover lost data. You can keep this from happening by passing the --norestore option. Similarly, if you're having major problems even starting LibreOffice (e.g., due to an issue with extensions, hardware acceleration, or your user profile) then you can activate the suite's safe mode using --safe-mode. This pops up a dialog box – like in Figure 4 – from which you can disable certain options or even reset to "factory settings" (i.e., like a completely fresh installation).

Figure 4: LibreOffice 5.3 includes a new Safe Mode, which temporarily disables settings and extensions, to help fix problems.

If you want to print a bunch of files without tediously having to open them all up and click Print for each one, do this:

soffice -p doc1.odt doc2.odt

Note the single dash before p here. Supply as many documents as you want; they will all be sent to the default printer. If you have multiple printers and want to specify one, use the --pt option followed by the name of the printer, and then the document(s) you want to print.

One of the biggest time-savers when using LibreOffice from the command line is batch conversion of documents. Consider this, for example:

soffice --convert-to pdf *.odt

That generates PDF versions of all Open Document Format Text (ODT) files in the current directory. If you have a bunch of Microsoft Word documents and want to convert them to LibreOffice's native format, use this:

soffice --convert-to odt *.docx

Now, LibreOffice includes import and export filters for a huge range of file formats, and you can use many of these in your batch conversion jobs. Unfortunately, however, the documentation listing these formats is lacking – so you have to look in the right places. Suppose we want to convert an ODF document created by LibreOffice Writer into Microsoft Word 97 format. The command to use is this:

soffice --convert-to doc:"MS Word 97" file.odt

But how do we know to use this exact command? The trick is to look at the LibreOffice source code tree, and specifically the list of file format filters [5]. On that web page, you'll see a file called MS_Word_97.xcu – so you know a filter exists for Word 97 files. If you click it, you can see this line toward the top of the file, following the first block of comments:

<node oor:name="MS Word 97" oor:op="replace">

This tells us that "MS Word 97" is the name we should use when applying the filter. (It's also the same as the filename, but without underscores – but it's always worth checking the content of the filter file as well.)

With this trick, supplying the document extension followed by the filter name in quotes, you have access to a wide range of file formats. If you're working with large collections of legacy documents and need to shift them from one format to another, this command can be a godsend. Yes, it's a bit fiddly having to poke into the LibreOffice source code to explore this, but it works. And, if you want to contribute back to the suite, an effort to document this would be very welcome by the dev team!

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More