Welcome to The Document Foundation Planet

This is a feed aggregator that collects what LibreOffice and Document Foundation contributors are writing in their respective blogs.

To have your blog added to this aggregator, please mail the website@global.libreoffice.org mailinglist or file a ticket in Redmine.

11 November, 2019


Hoy estamos hablando con Celia Palacios, que recientemente se ha convertido en miembro de The Document Foundation, la entidad sin ánimo de lucro detrás de LibreOffice:

Para empezar, cuéntanos un poco sobre ti

Soy una usuaria mexicana de la vieja …


Today we’re talking to Celia Palacios, who has recently become a member of The Document Foundation, the non-profit entity behind LibreOffice:

To start, tell us a bit about yourself!

I am a Mexican old-guard user of Linux since 2001. I studied Electronic Engineering, and I have been working in thatfield since 1989. I learnt all sorts of Linux stuff because I love to learn by myself. In addition, I love to read historical detective novels, lots of science fiction, and go to the movies with my husband.

I love philosophy, symbolism and many alternative ideas about everything. I also like to have long, friendly debates about everybody’s presumptions (or assumptions?). I try to be open-minded, specially in this times when everyone’s getting polarized Mexico about our President. I used to be an athletic gal, but now I am a total coach-potato! Thanks, Netflix!

Why did you decide to become a member of TDF?

Because LibreOffice is one the leaders in free/libre software, and it is a real example of a community with many faces and one heart. And also because people in the Spanish LibreOffice Telegram channel are so intelligent, bright, open and charming: many of them working truly to help others. That moved me deeply.

What are you working on in the LibreOffice project right now?

I am helping the Spanish documentation team. I have an idea of asking university students to help us finish the first-steps guides. If we succeed, we will have an updated introductory guide, which is really needed in Spanish.

Anything else you plan to do in the future?

It is too early to answer that without saying “in the regular places”. But it is in my plans to update every module’s guide in Spanish. And also some advanced guides/tutorials, with practical cases, for Calc and Base, specially to equal the outcomes that Microsoft Excel’s Power Business Intelligence is achieving.

Thanks to Celia for all her help and input! If you’re reading this and also want to join our friendly community, see here to get started (or visit the Spanish page). And if you’re already active in the LibreOffice project, consider becoming a member, so you can vote for TDF’s Board of Directors and help to make other important decisions:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

10 November, 2019

我們上傳了更多關於我們最近在西班牙阿爾梅里亞舉辦的 LibreOffice Conference 2019 演講影片。首先是 Tamás Bunth 的“Databases in LibreOffice”:

然後是 Alain Romedenne 的“Scripting LibreOffice Python macros”:

Tomaž Vajngerl 的“Custom Widget Themes”:

最後是 Google Summer of Code 成果發表:

新聞來源:Four more videos from the auditorium at LibreOffice Conference 2019

09 November, 2019

There are many good extensions for LibreOffice. You can find it all on site https://extensions.libreoffice.org/. I want to tell you about the best from it.
So, there is an enhancement 85976 about adding of Remove Duplicates feature to LibreOffice Calc. That is really useful function and LibreOffice Calc isn't having it now.
However, there is Remove Duplicates Fast extension that adds need feature to Calc. It's a fork of another extension Remove Duplicates.
RDF allows you delete all row duplicates from selected range using values from one or more column. Just download it by link above, install and use it from Data menu.
Thanks to Mike Kaganski for great code writing.


It's been almost half a year since I mentioned how precompiled headers do (not) improve C++ compile times. Quite a long time, filled with doing other things, life, occassionally working on getting my patch production-ready and, last but definitely not least, abandoning that patch and starting from scratch again.
It turns out, the problems I mentioned last time had already been more or less solved in Clang. But only for C++ modules, not for precompiled headers. *sigh* I had really mixed feelings when I finally realized that. First of all, not knowing Clang internals that well, it took me quite a long time to get to this point figuring it all out, probably longer than it could have. Second, I've been using C++ modules when building Clang itself and while it's usable, I don't consider it ready (for example, sometimes it actually makes the build slower), not to mention that it's non-trivial to setup, not standardized yet and other compilers (AFAIK) do not yet support C++ modules. And finally, WTH has nobody else yet noticed and done the work for precompiled headers too? After all the trouble with finding out how the relevant Clang parts work, the necessary patches mostly border on being trivial. Which, on the other hand, is at least the good news.
And so I'm switching for LibreOffice building to my patched build of Clang. For the motivation, maybe let's start with an updated picture from the last time:

This is again column2.cxx, a larger C++ file from Calc. The first row is again compilation without any PCH involved. The second row is unpatched Clang with --enable-pch=full, showing again that way too large PCHs do not really pay off (here it does, because the source file is large, but for small ones such as bcaslots.cxx shown last time it makes things slower). In case you notice the orange 'DebugType' in the third row that looks like it should be in the second row too, it should be there, but that's one of these patches of mine that the openSUSE package does not have.
The third row is with one patch that does the PerformPendingInstantiations phase also already while building the PCH. The patch is pretty much a one-liner when not counting handling fallout from some Clang tests failing because of stuff getting slightly reordered because of this. Even by now I still don't understand why PCH generation had to delay this until every single compilation using the PCH. The commit introducing this had a commit message that didn't make much sense to me, the test it added works perfectly fine now. Presumably it's been fixed by the C++ modules work. Well, who cares, it apparently works.
The last row adds also Clang options -fmodules-codegen -fmodules-debuginfo. They do pretty much what I was trying to achieve with my original patch, they just approach the problem from a different side (and they also do not


We’ve uploaded some more videos from our recent LibreOffice Conference 2019 in Almeria, Spain! First up, “Databases in LibreOffice” with Tamás Bunth:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Next, “Scripting LibreOffice Python macros” with Alain Romedenne:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

“Custom Widget Themes” with Tomaž Vajngerl:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

And the Google Summer of Code (GSoC) panel:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.


Since forever, Basic in OpenOffice.org had a bug: it didn’t properly check closing parentheses in expressions like

FirstUpper = UCase( Left( sString, 1 ) + LCase( Mid( sString, 2 ) )

(example taken from this AskLibO question). Note the mismatch between opening and closing parentheses: four opening, and only three closing. The author missed one to close UCase function after Left( sString, 1 ), and any compiler would naturally point out to this common mistake – any but StarBasic in OOo and derivatives.

What StarBasic did was auto-closing the expression in the end when compiling. It would only complain if the result of such auto-closing would be ill-formed; sometimes (as in the example above), the result would be syntactically correct – but not necessarily semantically correct: the example above compiled with StarBasic did not what author expected (a text with first character capitalized, and the rest of the text in lowercase), but returned text in all caps instead. For some similar cases, such errors could be not easy to find in the absence of compiler check, especially in a large project.

This has been reported to LibreOffice bug tracker as tdf#80731 back in 2014; and it was addressed in 5.4 development cycle, with the fix backported into 5.3.1. A nice and correct fix, isn’t it?

Well, not actually. It turned out, that over the years, the amount of existing and actually used legacy code having the error has become so big, that it was unrealistic to make sure that all of it is checked and fixed. Of course, some errors were found in the code bundled with LibreOffice itself – and naturally, it was fixed. Some third-party extensions – quite a number of them – also happened to have it; and all authors who could be contacted, had released updated releases with the mistake corrected; thank you! But it wasn’t possible to test any extension out there; and besides publicly available and supported extensions, there were also unsupported (but still used, and useful) ones; and private ones (used by those who developed/paid for their development); and also uncountable macros outside of any extensions, and all of them having the error, that happily worked before, suddenly stopped working for their users … so after some time, the fix was reverted both from 5.3.3, and from still developing 5.4 (tdf#106529). By the way, I was enjoying reading “AltSearch extension put a bugfix release 1.4.2 to work around this bug” there, as if pointing to syntax error was actually a LibreOffice’s bug, not a mistake in the extension’s code.

So LibreOffice kept silently allowing the wrong syntax ever after 5.3.3, until now. Today I have reinstated the original fix by Pierre Lepage from 5.4, with one modification: the check is only active when compiling the code from within Basic IDE. What does it mean? It means, that for anyone writing a new code in the Basic IDE, the syntax error will be properly found and

08 November, 2019

It's translation of my Russian post about Footnotes and Endnotes to English.
What's Footnote? Wiki says us next:
A note is a string of text placed at the bottom of a page in a book or document or at the end of a chapter, volume or the whole text. The note can provide an author's comments on the main text or citations of a reference work in support of the text. Footnotes are notes at the foot of the page while endnotes are collected under a separate heading at the end of a chapter, volume, or entire work.
It looks in the text document so:
Note, the notes in the text are highlight by gray color. It made for help of users and will not be print on paper.
LibreOffice Writer can insert both types of notes: Footnotes and Endnotes.
On image above you see that footnotes places in bottom of page and endnotes places on latest page in the document. Page with endnotes is always latest page in the document. If you have last "empty" page in your document with even only one empty paragraph, then the endnotes page will be next page anyway.
Font size for footnotes and endnotes is smaller than basic font size in text body by default.
Use menu "Insert->Footnote and Endnote->Footnote" and "Insert->Footnote and Endnote->Endnote" to insert notes.
Notes have own options. You can find it in "Tools->Footnotes and Endnotes...". I think it needs to rename that item to something like "Foot/Endnotes settings".
The dialog has two tabs:
Here can set up numbering type, for Footnotes can to set up counting per page, per chapter or per document, can select paragraph ans symbol styles, etc.
Footnotes have else one place with some parameters. It's "Page style" dialog, "Footnote" tab:
Look at two options in Footnote area section. Its are responsible for footnotes area height on the page. If you select "Maximum footnote height" with small value and your footnote's text will be too long, then that text could be move to next page to its footnotes area. It may be unwanted. Also here you can customize Separator line between text body and footnotes area.
Next place with some parameters for notes is "Paragraph style" dialog for Footnote or Endnote. Select your Footnote (or Endnote), open Styles tab in the Sidebar, select Footnote (or Endnote) in the list of styles, right click and select "Modify":
Here you can change many options for text of footnotes.
Note, you can select any paragraph style for footnotes (or endnotes) text. Just for your convenience LibreOffice already has predefined styles. Footnote paragraph style is just style by default for footnotes.
Next thing that you'll want customize is note number view in the text body. Use options of Footnote (or Endnote) anchor symbol style. Find that style in the list of symbol styles in the Sidebar, right click on style name and select "Modify". Use "Font" and "Position

07 November, 2019


Last Tuesday Beast 0.15.0 was released. This is most probably the last release that supports the Gtk+ Beast UI. We have most of the bits and pieces together to move towards the new EBeast UI and a new synthesis core in the upcoming months and will get rid of a lot of legacy code along the way. For a…


General Activities

  1. The first Bug Hunting Session for LibreOffice 6.4 took place on October, 21
  2. The last release of the 6.2 family ( LibreOffice 6.2.8 ) was released on October, 17
  3. LibreOffice 6.3.3 was released on October, 31
  4. Jan-Marek Glogowski (CIB ) fixed a slide tearing issue that affected many users
  5. Andreas Kainz reworked the layout of many dialogs. E.g. Autocorrect Dialog
  6. The GTK UI backend now uses native dialogs thanks to the tireless work of Caolán McNamara (Red Hat)
  7. Miklos Vajna (Collabora) finished implementing continuous endnotes compatibility setting in Writer layout, allowing rendering endnotes in a way which is closer to what Word users expect
  8. Miklos Vajna (Collabora) added support for allow-overlap shape property
  9. Muhammet Kara (Collabora) implemented full-sheet previews for Calc and harmonised UI references to “pages” and “slides” in Draw and Impress
  10. Tamás Zolnai (Collabora) added a table section to the Writer’s sidebar
  11. Luboš Luňák (Collabora) and Tomaž Vajngerl (Collabora) are working on a replacement of cairo with skia
  12. Gülşah Köse (Collabora) added support for text camera z rotation while pptx import
  13. Noel Grandin (Collabora), Aron Budea (Collabora) and Eike Rathke (Ret Hat) are adapting the code base to allow Calc to have more than 1024 columns
  14. On MM:SS or [MM]:SS or MM:SS.00 or [MM]:SS.00 pre-formatted cells a two digit groups input like 12:34 is now accepted as minutes:seconds value instead of the usual hours:minutes:00 value. Eike Rathke (Red Hat)
  15. Fix missing change tracking layout of numbers and bullets of lists. tdf#42748 (László Németh, NISZ)
  16. Xisco Fauli fixed some PPTX import/export bugs
  17. Balazs Varga (NISZ) keeps improving OOXML Charts interoperability
  18. Improved scalability of formula-groups computation on CPUs with large number of cores by potentially threading multiple independent formula-groups together. Dennis Francis (Collabora)
  19. Michael Stahl (CIB) did a bunch of improvements related to Fieldmarks in Writer
  20. Jan-Marek Glogowski (CIB) improved how DOCX footnotes are imported
  21. Michael Weghorn fixed some issued related to the Mail merge

Reported Bugs

622 bugs, 99 of which are enhancements, have been reported by 371 people.

Top 10 Reporters

  1. Nicolas Christener ( 39 )
  2. Xisco Faulí ( 34 )
  3. Mike Kaganski ( 16 )
  4. John ( 15 )
  5. Roman Kuznetsov ( 13 )
  6. Regina Henschel ( 13 )
  7. NISZ LibreOffice Team ( 11 )
  8. andreas_k ( 10 )
  9. Cor Nouws ( 9 )
  10. Gerry Garvey ( 8 )

Triaged Bugs

664 bugs have been triaged by 70 people.

Top 10 Triagers

  1. Xisco Faulí ( 225 )
  2. Dieter Praas ( 70 )
  3. Heiko Tietze ( 50 )
  4. V Stuart Foote ( 39 )
  5. Oliver Brinzing ( 39 )
  6. Julien Nabet ( 37 )
  7. Timur ( 27 )
  8. Alex Thurgood ( 17 )
  9. raal ( 17 )
  10. Roman Kuznetsov ( 16 )

Resolution of resolved bugs

618 bugs have been set to RESOLVED.

Check the following sections for more information about bugs resolved as FIXED, WORKSFORME and DUPLICATE.

Fixed Bugs

218 bugs have been fixed by 38 people.

Top 10 Fixers

  1. Caolán McNamara ( 25 )
  2. Eike Rathke ( 12 )
  3. Miklos Vajna ( 9 )
  4. Mike Kaganski ( 9 )
  5. Jim Raykowski ( 8 )
  6. László Németh ( 7 )
  7. Xisco Fauli ( 7 )
  8. Tor Lillqvist ( 7 )
  9. Balazs Varga ( 7


Editor of the new version of the ODF standard document format sponsored by the Community of ODF Specification Maintainers (COSM) *

Berlin, November 7, 2019 – The Document Foundation welcomes the release to OASIS of TC Committee Draft of ODF Version 1.3 for ratification. At the end of the process, ODF Version 1.3 will be submitted to ISO to become a standard. The final approval is expected in late 2020 or early 2021.

Editing of ODF Version 1.3 Committee Draft has been sponsored by the Community of ODF Specification Maintainers (COSM), a project launched by The Document Foundation in 2017 with the donation of a seed of euro 10,000 to get the COSM project started, plus up to euro 20,000 to match each euro donated by other stakeholders.

So far, the COSM project has been backed by Microsoft, Collabora, the UK Government Digital Services, CIB, the European Commission’s StandICT project and Open-Xchange. The money has been used to pay an editor to finalize the ODF 1.3 specification and manage it through the OASIS review and ratification process.

Major new features of ODF 1.3 are digital signature and OpenPGP-based XML encryption of documents, plus several improvements to features already available in ODF 1.2 like new polynomial and moving average regression types for charts, a new specification for number of decimal digits in number formatting, a special header/footer style for first page of documents, contextual spacing for paragraphs, additional type argument values for the WEEKDAY function, and the new text master template document type. Most of these new features have been contributed by developers at CIB, Collabora, Microsoft and The Document Foundation.

“The third revision of ODF is now well on the way to becoming a ratified standard and confirms that the crowdfunding approach TDF seeded at COSM is an effective way to have the open document standard maintained without needing a deep-pocketed international corporation behind them”, said Thorsten Behrens, TDF board member.

06 November, 2019

Tamás Zolnai from Collabora added to Writer Sidebar new Table section. Now when you click inside a Writer table then you'll see in Sidebar new section with controls for handling of the table like "Add row", "Add column", etc.
It will be available in LibreOffice 6.4 that will be release in February 2020 year

05 November, 2019

Developers of LibreOffice are making an experiment. They make changing of cairo to skia inside LibreOffice.
That change will be merge in to the master after branch of LibreOffice 6.4


L’Istituto Tecnico A. De Simoni ‐ M. Quadrio di Sondrio, dove insegna il socio Rocco Camera, ha organizzato una conferenza pubblica sul tema Cittadinanza Digitale e Software Libero nella Scuola nella giornata di sabato 23 novembre, presso l’Auditorium Policampus di Via Tirano, a Sondrio. All’evento parteciperanno diversi membri del consiglio LibreItalia: il presidente Enio Gemmo, Giordano Alborghetti, Fabio […]


Styles are the essence of a text processor. And while experts love to unleash the power of LibreOffice Writer, it’s at the same time a major source of nuisance. In particular when you receive documents from other people, it can be quite difficult to understand the applied formatting and to fix issues around.…


The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks for companies or individuals to

provide consultancy on implementing ODF 1.3 conformance in LibreOffice

to start work as soon as possible. TDF is looking for an individual or company to give technical consultancy on ensuring that LibreOffice will properly implement the Open Document Format (ODF) version 1.3 for both importing and exporting. This can involve one or more of the following tasks:

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code
  • Experience with implementing and testing the Open Document Format

We exclusively use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants

02 November, 2019

感謝我們全球的開發者與支持者社群,每個 LibreOffice 版本都包含了新功能、錯誤修復、相容性增強、翻譯與其他改進。這個月,我們要向所有協助我們的人表示感謝──並鼓勵更多人加入我們友善的社群!那我們要怎麼做到這件事呢?

還有還有,我們還會隨機選擇 10 個貢獻者,他們會收到獨家 LibreOffice 馬克杯:


  • 得力助手,回答使用者的問題:在 Ask LibreOffice 上,許多使用者正在尋求辦公室套裝軟體的協助。我們會一直關注這個網站,因此如果您給其他使用者一些建議,您就可以來申請您的閃亮亮的貼紙。
  • 第一個回應者,協助確認新的臭蟲回報:請到我們的 Bugzilla 頁面尋找新的臭蟲。如果您可以重現這些臭蟲,請新增如「CONFIRMED on Windows 10 and LibreOffice 6.3.3」。(請確保使用最新版的 LibreOffice!)
  • 鼓吹者,散佈給全世界知道:告訴每個在 TwitterMastodon 上的人!只要說明為什麼你喜歡它,或者你正在拿它來做什麼用途。加入 #libreoffice 主題標籤,然後在月底您就可以申請貼紙。(對這個分類來說,我們最多會發出 100 份貼紙,因為整個網際網路都開始發推文/嘟文了!)
  • 周遊世界的人,翻譯使用者界面:LibreOffice 提供多種語言的版本,但其界面翻譯需要保持最新。或您可能希望將套裝軟體翻譯成全新的語言?在此參與
  • 程式碼貢獻者,貢獻程式碼:程式碼庫很大,但有很多地方有比較小型的工作可以參與。請看我們網頁上的開發者頁面wiki 上的此頁面以加入我們。一旦你遞交了修補程式,如果它被合併,那你就可以得到貼紙!
  • 文件醫生,編寫文件:取得徽章的另一種方式是協助 LibreOffice 文件團隊。不論您是想更新線上說明文件,或是在手冊中新增章節,都可以從這裡開始
所以有很多工作要做!隨著貢獻的出現,我們每天都會用使用者名稱更新此頁面。所以快來加入我們吧,這樣就可以協助全球數百萬人更好地使用 LibreOffice──並享受我們的貼紙以及滿滿的感謝。我們將在接下來的四週內在這個部落格以及我們的 MastodonTwitter 帳號上發佈定期更新!

新聞來源:Starting today: The Month of LibreOffice, November 2019 – get cool swag!

01 November, 2019


Thanks to our worldwide community of developers and supporters, every release of LibreOffice includes new features, bugfixes, compatibility boosts, translations, and other improvements. This month, we want to say a big thanks to everyone who helps out – and encourage more people to join our friendly community as well! So how are we going to do this?

Well, everyone who contributes can claim an awesome sticker pack at the end of the month:

And even better, we’ll also choose 10 contributors at random to receive an exclusive glass LibreOffice mug – there aren’t many of these in the wild:

How to take part

So, let’s get started! There are many ways you can help out – and you don’t need to be a developer. For instance, you can be a…

  • Handy Helper, answering questions from users: over on Ask LibreOffice there are many users looking for help with the office suite. We’re keeping an eye on that site so if you give someone useful advice, you can claim your shiny stickers.
  • First Responder, helping to confirm new bug reports: go to our Bugzilla page and look for new bugs. If you can recreate one, add a comment like “CONFIRMED on Windows 10 and LibreOffice 6.3.3”. (Make sure you’re using the latest version of LibreOffice!)
  • Drum Beater, spreading the word: tell everyone about LibreOffice on Twitter or Mastodon! Just say why you love it or what you’re using it for, add the #libreoffice hashtag, and at the end of the month you can claim a sticker. (We have a maximum of 100 stickers for this category, in case the whole internet starts tweeting/tooting!)
  • Globetrotter, translating the user interface: LibreOffice is available in a wide range of languages, but its interface translations need to be kept up-to-date. Or maybe you want to translate the suite to a whole new language? Get involved here.
  • Code Cruncher, contributing source code: The codebase is big, but there are lots of places to get involved with small jobs. See our Developers page on the website and this page on the wiki to get started. Once you’ve submitted a patch, if it gets merged we’ll send you a sticker!
  • Docs Doctor, writing documentation: Another way to earn a badge is to help the LibreOffice documentation team. Whether you want to update the online help or add chapters to the handbooks, here’s where to start.

So there’s plenty to do! As the contributions come in, we’ll be updating this page every day with usernames. So dive in, get involved and help make LibreOffice better for millions of people around the world – and enjoy your sticker as thanks from us. We’ll be posting regular updates on this blog and our Mastodon and Twitter accounts over the next four weeks!

[tw] 黃柏諺: LibreOffice 6.3.3 釋出

00:36 UTC

文件基金會於10月31日釋出了 LibreOffice 6.3.3,這是 LibreOffice 6.3 的第三個錯誤修正版本,此版本的建議使用對象是科技愛好者與喜好自訂的使用者。

新聞來源:The Document Foundation releases LibreOffice 6.3.3

31 October, 2019

[en] Michael Meeks: 2019-10-31 Thursday.

21:00 UTC

  • Call with MikeK, calc renderiing code reading, ESC call, call with Marco, Felipe, mail & more code review.
  • Encouraged to see the Nodepad++ release. Obviously it is uncomfortable for rulers to have another authority capable of questioning the authority of the state.


LibreOffice Native GTK Dialog Status

The LibreOffice UI was traditionally implemented with its own VCL toolkit which via theming emulated the host desktop toolkit.

Then we migrated the file format the dialogs were described in to the GtkBuilder file format. But still implemented with VCL widgetry, though with additional GTK-alike layout widgets.

Then migrated the translation format to gettext .mo files, which added plural form translation support we had lacked.

Then incrementally migrated the code driving the dialogs to a new API with two implementations, one for VCL widgetry and one for GTK.

Over the last few major releases the GTK version of LibreOffice has increasingly had true GTK dialogs and less VCL dialogs and in master, as of this week, there are now no direct uses of the VCL dialog APIs.

There are still some non-dialog utility windows and other elements to port over, but dialogs are complete.

LibreOffice has a lot of UI. There are 1029 XML UI definition files in master. 480 definitions of a GtkDialog and 75 additional GtkMessageDialog definitions. The remainder of the files typically describe a single page of a Notebook, Assistant or Sidebar, often appearing in multiple dialogs.

Here are some gifs of a small set of the dialogs from master under Fedora 31, taken under Wayland with peek, showing some of the stock animations of the default GTK 3.24 Adwaita theme

The Writer Character dialog

Notebook, Color Selector MenuButton, and ToggleButton animations

The Calc Page dialog

SpinButtons and legacy Preview widgets hosted in a native dialog

The Writer Paragraph dialog

"Double Decker" Notebook and Scale widgets

The Writer AutoCorrect dialog

Smooth scrolling of huge Emoji autocorrect list

Chart 3D View dialog

Amusingly Over-engineered custom lighting direction widget

The Options dialog

TreeView, Overlay ScrollBar, fade in animation of CheckButtons


The Document Foundation anuncia LibreOffice 6.3.3, la tercera versión menor de la familia LibreOffice 6.3, con muchas mejoras de calidad y compatibilidad. LibreOffice 6.3.3 “nuevo” está dirigido a los entusiastas de la tecnología y a los usuarios avanzados, a los …

30 October, 2019

  • Mail; testing, code reading and more patch merging. Sales & Marketing call, back to calc tile rendering oddities.
  • All-Saints band-practice; pleased to see Barak Obama's "People who do really good stuff have flaws" commentary on our messy and ambiguous world. Personally I have the flaws, but sadly they don't guarentee doing the really good stuff. I'd also love all (particuarly old) media outlets to have a cultural shift to systematically provide a: "see this clip in its full context" button ~everywhere.

29 October, 2019

[en] Michael Meeks: 2019-10-29 Tuesday.

21:00 UTC

  • Mail, admin, tech mgmt call; more patch merging action, up late on a client proposal.


Now it is possible to redact your documents with LibreOffice to remove/hide sensitive information, and I’ll try to share some info about it via a 2-part series of blog posts. You can also check out the Collabora’s blog post for some more information probably with a better presentation, and a more user-centric view. Redaction tool in LibreOffice


Redaction in its sanitization sense is the blacking out or deletion of text in a document, or the result of such an effort. It is intended to allow the selective disclosure of information in a document while keeping other parts of the document secret. Typically the result is a document that is suitable for publication or for dissemination to others than the intended audience of the original document. For example, when a document is subpoenaed in a court case, information not specifically relevant to the case at hand is often redacted. Redaction in Wikipedia

Although there are some proprietary software applications in the market for this purpose, they have their own limitations like lack of support for open/libre document formats. Thanks to LibreOffice’s great support for various file formats, and our recent work on implementing this new feature on top of it, it is now possible to redact most of your documents without leaving the comfort of your favourite office suite.


  • Open your document in LibreOffice
  • Click (Tools ▸ Redact) from the main menu, and wait for your document to be prepared for redaction (converted to an internal meta-format, and transferred to Draw)
  • Do the redaction by using the “Rectangle Redaction” and the “Freeform Redaction” tools on the “Redaction Toolbar”
  • Save & share the in-redaction copies of the document with peers either in the modifiable (odg) or the verbatim (pdf) format at your option
  • Once you are ready to finalize the redaction, click the desired option on the “Redacted Export” tool on the Redaction toolbar

Redaction command in the Tools menu of Writer: Redaction Command in Tools Menu of LibreOffice 6.3

Starting redaction in Draw (Redaction toolbar is in the green rectangle): Redaction Start in Draw Libreoffice 6.3

Screenshot while redacting a document in LibreOffice: In-Redaction Screenshot from Libreoffice 6.3

Screenshot of a redacted document, finalized and exported as PDF: Redacted Finalized PDF Screenshot from Libreoffice 6.3

Where and when?

The feature was developed for Collabora Office 6.0, directly on LibreOffice core master, and is already available in LibreOffice 6.3, and also on all recent snaphots of Collabora Office. If you are going to try it with a Collabora Office snapshot, I recommend getting an 6.2 snapshot.


  • As a result, you will have a pixellized version of the redacted document in PDF. There will be no selectable text in it, and the redacted content will be non-existent.
  • During redaction, the redaction shapes will be transparent and in grey so that the user can see what they are redacting.
  • There are currently 4 tools on the Redaction toolbar (from left to right): Rectangle Redaction, Freeform Redaction, Redacted Export, Direct Export to PDF Redaction Toolbar in Libreoffice 6.3
  • The Rectangle Redaction tool allows the user to mark the content for redaction

28 October, 2019

[en] Michael Meeks: 2019-10-28 Monday.

21:00 UTC

  • Mail chew, poked at code - somewhat alarmed to discover the wavey-red-lines under mis-spelled words being rendered with drawPixel and each pixel working some amazingly expensive system-dependent polygon caching mechanism noticably slowly; not great, fixed it.
  • Added some tile cache size management code to master online - probably a good idea now its not on-disk. Some client proposal writing.


<!-- wp:paragraph --> Replication is a long-awaited feature that allows the creating of reliable high-performance database replicas without user-defined triggers and with full DDL support. This talk presents the replication subsystem architecture, possible replication modes, their impact on performance and available tuning options. We'll demonstrate how to set up a simple standby configuration


<!-- wp:paragraph --> This talk done at Firebird Conference 2019 describes the current state of the v4 development and reviews its key features (new data types, Batch API, timezones). Dimitry Yemanov spoke about the future of Firebird development, including the updated release plan and expected post-v4 features. Review of upcoming features for Firebird 5 <!-- /wp:paragraph --> <!--

27 October, 2019

[en] Michael Meeks: 2019-10-27 Sunday.

21:00 UTC

  • Up late, played at All Saints, Zoe spoke; back for a fine roast lunch. Out to Cedric's East Anglian Air Ambulance fund-raising concert at All Saints - H. played the organ; somewhat alarmed by the church mouse.

26 October, 2019

[en] Michael Meeks: 2019-10-26 Saturday.

21:00 UTC

  • Out for a run with J. poked mail in the morning. David over for lunch. Off to Oundel to see Major A Mansergh, and his lovely family - its been too long. H. enjoyed playing the organ, while we toured in the rain & enjoyed the company & tea. Home late.

Older blog entries ->